Страница 1 из 1

Динамическое удаление колонок в динамической таблице

Добавлено: 09 авг 2021, 10:38
molochnii
Динамический всем привет!
У меня в распоряжении есть вот такой динамический код: (спасибо memberlist.php?mode=viewprofile&u=649)

Код: Выделить всё

if (List.Contains(DataDS.DataTable.Columns[Line].ToString()))
{
	Variable1 = DataDS.DataTable.Rows[rowid][Line].ToString();
}
Который находится в событии BeforePrint в CrossDataBand1(нижний на фото). И который проверяет наличие названия колонки из DataTable в списке допустимых на данной странице колонок - List, и если оно(название) там есть, то выводится значение текущей ячейки.
НО, проблема заключается в том, что мне нужно выводить не все столбцы, а такая конструкция выводит пустые столбцы, если названия нет в List.
Мне же нужно, что бы отрисовывались пустые столбцы, если в самом DataTable значение данной колонки равно null ( и, соответственно, название данной колонки из DataTable присутствовало в списке допустимых - List), но не отрисовывались пустые столбцы, если названия этих столбцов не содержится в списке допустимых - List ( и, соответственно, не важно, есть ли значение в DataTable у этого столбца, или там null)..

Заранее динамическое всем спасибо за оказанную поддержку и помощь в этом не простом деле! :)

PS
Я обнаружил некоторую странность в работе Stimulsoft.
Я добавил к своему коду проверку :

Код: Выделить всё

else if (!List.Contains(DataDS.DataTable.Columns[Line].ToString()))
{
	Variable1 = "NotInList";
}
Которая должна выводить указанную надпись, если название указанной колонки не содержится в списке допустимых, но проблема в том, что она выводится везде, где нет значений ( тоесть, где значения в DataTable равны null), я приложил ещё один скрин, демонстрирующий это.

Re: Динамическое удаление колонок в динамической таблице

Добавлено: 09 авг 2021, 16:08
molochnii
Тишь да гладь

Re: Динамическое удаление колонок в динамической таблице

Добавлено: 10 авг 2021, 10:18
molochnii
В общем, поддержки и помощи я так и не дождался, и (может кому пригодится) решил проблему следующим образом: поскольку мои значения берутся из DataTable по указанному индексу, я сделал цикл, из которого выбрал необходимые мне индексы в список,а потом брал значения из этого списка. Таким образом пустых колонк ( которых не должно быть) не образуется, а если колонка должна быть но все ее значения равны null, то она выводится, но пустая.

Re: Динамическое удаление колонок в динамической таблице

Добавлено: 10 авг 2021, 10:20
molochnii
А почему в стимулсофт происходили такие смещения я так и не понял,я полностью переписал весь свой код, убрав лишнее, и в целом избавился от проблемы

Re: Динамическое удаление колонок в динамической таблице

Добавлено: 16 авг 2021, 10:40
Aleksey
Здрвствуйте,

Без примера, который воспроизводит проблему сложно что-то сказать.