Сниппет берёт столбец таблицы. Как в сниппете вместо столбца прописать переменную?

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Нужно по очереди брать много столбцов в список. A, B, C, ...
Потому хочу, чтобы название столбца менялось.
Как написать туда переменную?

Код:
var list = project.Lists["List"];
var table = project.Tables["Table"];
lock(SyncObjects.TableSyncer)
{
    for(int i= 0; i < table.RowCount; i++)
    {
        list.Add(table.GetCell("C", i)); //Вместо "С" нужную колонку таблицы
    }
}
 

Rooter85

Client
Регистрация
04.07.2015
Сообщения
244
Благодарностей
64
Баллы
28
Нужно данные из всех столбцов строки собрать? Или только из выборочных столбцов?
Данные нужно заносить в один список, или на каждый столбец свой список?
 

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Не из всех столбцов. Из столбцов на мой выбор. Например А и В. Данные нужно заносить в разные списки.
Таблица называется Table, списки называются ListA, ListB etc.


Вот нашёл здесь stackoverflow.com/search?q=retrieve+column+from+DataTable такое:
First cast the session object as a datatable.
var tbl = ((DataTable)HttpContext.Current.Session["userDT"])
Then use it like a data table:
var col = tbl.Columns["firstName"];


Но я всё равно сам не умею.
 
Последнее редактирование:

Rooter85

Client
Регистрация
04.07.2015
Сообщения
244
Благодарностей
64
Баллы
28
var listA = project.Lists["ListA"];
var listB = project.Lists["ListB"];
var listC = project.Lists["ListC"];
var table = project.Tables["Table"];
lock(SyncObjects.TableSyncer)
{
for(int i= 0; i < table.RowCount; i++)
{
listA.Add(table.GetCell("A", i));
listB.Add(table.GetCell("B", i));
listC.Add(table.GetCell("C", i));
}
}
 
  • Спасибо
Реакции: smartwisard

smartwisard

Client
Регистрация
17.01.2017
Сообщения
824
Благодарностей
83
Баллы
28
Всё благодаря Вам!
И как я сам не догадался? (((

Код:
var listA = project.Lists["ListA"];
var listB = project.Lists["ListB"];
var listC = project.Lists["ListC"];
var table = project.Tables["Table"];
lock(SyncObjects.TableSyncer)
{
    for(int i= 0; i < table.RowCount; i++)
    {
        listA.Add(table.GetCell("A", i)); // нужную колонку таблицы
        listB.Add(table.GetCell("B", i));
        listC.Add(table.GetCell("C", i));
    }
}
Предупреждение читателям: из моих рук выходит только кривое поначалу, перепроверяйте!
 

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