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

Обсуждение Stimulsoft Reports.WPF
Ответить
Аватара пользователя
molochnii
Сообщения: 56
Зарегистрирован: 29 июл 2021, 14:43

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

Сообщение 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), я приложил ещё один скрин, демонстрирующий это.
Вложения
Без имени.png
Без имени.png (16.53 КБ) 5243 просмотра
Без имени.png
Без имени.png (17.49 КБ) 5244 просмотра
Аватара пользователя
molochnii
Сообщения: 56
Зарегистрирован: 29 июл 2021, 14:43

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

Сообщение molochnii »

Тишь да гладь
Аватара пользователя
molochnii
Сообщения: 56
Зарегистрирован: 29 июл 2021, 14:43

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

Сообщение molochnii »

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

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

Сообщение molochnii »

А почему в стимулсофт происходили такие смещения я так и не понял,я полностью переписал весь свой код, убрав лишнее, и в целом избавился от проблемы
Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

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

Сообщение Aleksey »

Здрвствуйте,

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