Работа со списками

  • Автор темы Автор темы kasper
  • Дата начала Дата начала

kasper

Client
Регистрация
01.04.2012
Сообщения
139
Реакции
15
Баллы
18
Работа со списками [снипет]

Подскажите пожалуйста.
Логика такая. Из списка list1 берется строка в переменную (с удалением). Если взять строку не получается (строки кончились), то добавить все строки из списка list2 в list1
 
Получаете строку из списка 1, и выполняете свою логику, до тех пор пока они есть. Когда строки из списка 1 закончатся действие шаблона из экшена Получить строку пойдет по неудачному выходу. Подставляете туда шаг - работа со списками, добавить данные из списка. Выбираете там, чтобы добавились данные из списка 2, в конец. Вот и все.
 
  • Оценить
Реакции: kasper
Получаете строку из списка 1, и выполняете свою логику, до тех пор пока они есть. Когда строки из списка 1 закончатся действие шаблона из экшена Получить строку пойдет по неудачному выходу. Подставляете туда шаг - работа со списками, добавить данные из списка. Выбираете там, чтобы добавились данные из списка 2, в конец. Вот и все.
В данный момент именно таки делаю:)
Тема создана в разделе "снипеты" и мне хотелось бы осуществить свою задачу с помощью снипетов на C#, чтобы все действия производились в одном экшене.
Данной связкой пользуюсь очень часто и было бы удобно просто копировать один экшн из другого шаблона, ну и плюс ко всему - уменьшение количества действий в шаблоне, компактность.
Подправил название темы.
 
Вот пример, как сейчас:
0_df7af_8fc2ce88_XL.png
Кстати, разработчикам - наверное надо подправить комментарий, когда добавляются данные из списка list2 (на примере), чтобы там было "Добавить данные из списка list2"
 
var list1= project.Lists["Список 1"];
var list2= project.Lists["Список 2"];

do{
string first = list1[0];////что то вот вы делаете с первой строкой
list1.Remove();//А теперь удаляете
}while(list1.Count>0);
project.Lists["Список 1"]= project.Lists["Список 2"];


Только все равно сниппет бестолковый получится))) т.к. он выполняется внутри себя, и не поддерживает значение переменных во время выполнения проекта...
Т.е. вам надо обрабатывать каждую строку внутри сниппета, а раз вы его сами не написали, то думаю это будет не по зубам... Возможно, если вы часто к нему обращаетесь можно попробовать сделать так

var list1= project.Lists["Список 1"];
var list2= project.Lists["Список 2"];

if(list1.Count>0)
project.Variables["переменная какая то"].Value = list[0];
list1.Remove();
else
project.Lists["Список 1"]= project.Lists["Список 2"];

Тогда он будет каждый раз отдавать новое значение в переменную, пока существуют данные в списке, а потом он его изменит.

Код не тестил, но должно работать)
 
  • Оценить
Реакции: kasper

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)