Модернизовать снипет со списками

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6
Подскажите плиз.

Где-то видел такой снипет на форуме
Код:
var list1 = project.Lists["A"];
var list2 = project.Lists["B"];
var result = project.Lists["C"];
lock(SyncObjects.ListSyncer)
{
    for (int i = 0; i < list1.Count; i++)
        {
            result.Add(list1[i] + list2[i]);
        }
}
этот код берет по строке из списка А и списка Б. Затем все это собирает в одну строку и переносит в список С.

Данный код хорошо работает когда я имею пустой список С, а когда список С уже содержит некоторую информацию - в данном случае код перестает работать, подскажите как его модернизировать чтобы он работал и добавлял информацию, даже если в списке С есть заполненные строки, т.е необходимо добавлять строки из list1 и list2 в конец таблицы C даже если в С есть строки.

и еще вопрос

А кто-нибудь может подсказать как сделать, чтобы код делал следующее: берет по строке из списка А и списка Б. Затем переносит строку из списка А в (столбик А таблицы С) и строку из списка Б переносит в (столбик Б таблицы С). Практически такая же задача что и в первом коде только в данном случае С - это таблица, вместо списка.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Должен работать код в любом случае, хоть есть данные во втором списке, хоть нету.
По таблицам будет выглядеть приблизительно так.

var list1 = project.Lists["A"];
var list2 = project.Lists["B"];
var result = project.Tables["C"];
int tasbleCount = result.RowCount-1;
lock(SyncObjects.ListSyncer)
{
for (int i = 0; i < list1.Count; i++)
{
result.SetCell(0,tasbleCount,list1);
result.SetCell(0,tasbleCount,list2);
tasbleCount+1;
}
}
 

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6
спасибо конечно но код не работает у меня. списки создал. Названия дал такие же A и B, таблицу создал C. Названия проверил раз пять, а код не работает. даже перезагружать проект пробовал - не работает(( Может кто еще подскажет?
Должен работать код в любом случае, хоть есть данные во втором списке, хоть нету.
По таблицам будет выглядеть приблизительно так.

var list1 = project.Lists["A"];
var list2 = project.Lists["B"];
var result = project.Tables["C"];
int tasbleCount = result.RowCount-1;
lock(SyncObjects.ListSyncer)
{
for (int i = 0; i < list1.Count; i++)
{
result.SetCell(0,tasbleCount,list1);
result.SetCell(0,tasbleCount,list2);
tasbleCount+1;
}
}
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Код:
var list1 = project.Lists["A"];
var list2 = project.Lists["B"];
var result = project.Tables["C"];
int tableCount = result.RowCount;
lock(SyncObjects.ListSyncer)
{
for (int i = 0; i < list1.Count; i++)
{
result.SetCell(0,tableCount,list1[i]);
result.SetCell(1,tableCount,list2[i]);
tableCount = tableCount+1;
}
}

Исправил код. В прошлый раз без программы писал, не тестировал.
 
Последнее редактирование:
  • Спасибо
Реакции: toptop

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6
var list1 = project.Lists["A"];
var list2 = project.Lists["B"];
var result = project.Tables["C"];
int tableCount = result.RowCount;
lock(SyncObjects.ListSyncer)
{
for (int i = 0; i < list1.Count; i++)
{
result.SetCell(0,tableCount,list1);
result.SetCell(1,tableCount,list2);
tableCount = tableCount+1;
}
}

Исправил код. В прошлый раз без программы писал, не тестировал.
а этот код Вы проверили? а то у меня не работает всеравно :( даже новый. Изменения увидел какие Вы сделали, но даже после перезагрузки проекта не работает кубик.
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Да, этот у меня отработал как положено, таблицу заполнил
Вставил как положено, а то почему то обрезалась часть.
 

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6
не работает, а вроде все вставил
 

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6
А все заработало. это из-за прошлого блока не запускался проект. Спасибо:-):bo:
 

toptop

Пользователь
Регистрация
01.10.2015
Сообщения
57
Благодарностей
1
Баллы
6
Спасибо большое разобрался и с первым и со вторым вопросом. Вы просто гуру в этих кодах :-)

PS: тему можно закрывать
 

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