Добавить столбцы в MemoryDataset

Здравствуйте, возник вопрос по MemoryDataset - есть ли возможность непосредственно в коде добавить в него столбцы для данных? И как (тоже в коде) выводить эти столбцы в грид?

Нравится

3 комментария
var DataField = AddStringDataField(Mds.DataFields, 'Name' + i, 'Заголовок колонки', 100);
DataField.Tag = 'UniversalReport' + i;
AddGridColumnsByDataset(dgvMain, Mds, false);
Mds.Close();
Mds.Open();

Отлично, колонки вроде добавляет.

['Name' + i] - это имя столбца в MemoryDataset-е, который потом можно заполнить на AfterOpen? И как его очистить при очередном изменении числа колонок (ругается что дублируется свойство Name в AddStringDataField)?

Перед каждым выполнением конечно нужно эти столбцы чистить:

Mds.DataFields.Clear();

А в остальном вы правы.
Единственное, на AfterOpen() лично я обращался не по имени, а по порядку:

Dataset.DataFields.Items(k).Value = 'SomeValue';
Показать все комментарии