Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Обсуждение Stimulsoft Reports.NET
Ответить
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение 4it »

Здравствуйте. Есть некоторая ячейка данных следующего содержания:
{Документ.Тип_документа} {Документ.Номер} {Документ.Название_док} от {Format("{0:MM.dd.yyyy}", Документ.Дата_принятия)}
В случае если Документ.Дата_принятия является пустым полем, то содержимое всей ячейки не выводится.
Пробовал писать в условии для данной ячейки, следующую,возможно некорректную вещь:

В поле выражение:

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

Документ.Дата_принятия.ToString() == ""
В поле присвоить выражение:

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

Документ.Тип_документа+" "+Документ.Номер+" "+Документ.Название_док
При компиляции ошибка:
В экземпляре объекта не задана ссылка на объект.
Выслать отчет вместе с базой данных не могу.




Aleksey
Сообщения: 2909
Зарегистрирован: 22 апр 2010, 06:57

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение Aleksey »

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

Вы можете использовать следующее выражение:

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

{IIF(Документ.Дата_принятия.ToString() == "", " ", Документ.Тип_документа+" "+Документ.Номер+" "+Документ.Название_док)}
Спасибо.
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение 4it »

Здравствуйте. Ничего не заработало. Может быть не в том месте конечно прописывал данный код... (прописывается в содержимом самой ячейки? или в условии все-таки). Кроме того данное выражение выдает в результате, что выводится только в случае когда Документ.Дата_принятия.ToString() != "" (если я правильно понял)

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

Документ.Тип_документа+" "+Документ.Номер+" "+Документ.Название_док)

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

Сейчас же программа пишет
Expression in Text property of 'Table1_Cell2' can't be evaluated! В экземпляре объекта не задана ссылка на объект.
Прихожу к выводу что программа не выгружает значение типа (дата/время) из MS Access в случае если они пустые . Из-за этого и ошибки, и пустые ячейки. Можно что-нибудь с этим сделать?
Aleksey
Сообщения: 2909
Зарегистрирован: 22 апр 2010, 06:57

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение Aleksey »

Здравствуйте.

Данное выражение просто прописываете в содержимое самой ячейки.
4it писал(а): В случае если Документ.Дата_принятия является пустым полем, то содержимое всей ячейки не выводится.
Если вам нужно не выводить только дату:

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

{Документ.Тип_документа} {Документ.Номер} {Документ.Название_док}  
{IIF((Документ["Дата_принятия"].ToString() == "")||(Документ["Дата_принятия"]==DBNull.Value)," ","от " + (Format("{0:MM.dd.yyyy}", Документ.Дата_принятия)}
Если возникнут какие-то сложности или будет все равно выдаваться сообщение об ошибке, вышлите нам Ваш .mrt файл для анализа.

Спасибо.
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение 4it »

Либо делаю что-то не так, либо .... Реализовал ситуацию в некой тестовой базе высылаю отчет
Вложения
Поле дата - пустое.mrt
(18.24 КБ) 261 скачивание
med-01.accdb
(784 КБ) 625 скачиваний
Aleksey
Сообщения: 2909
Зарегистрирован: 22 апр 2010, 06:57

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение Aleksey »

Здравствуйте.

Замените выражение в ячейке таблицы:

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

{ИсточникДанных1.visitComment}{IIF((ИсточникДанных1["visitDate"].ToString() == "") || (ИсточникДанных1["visitDate"] ==DBNull.Value), " ", ", "+Format("{0:MM.dd.yyyy}", ИсточникДанных1.visitDate))}
на:

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

{ИсточникДанных1.visitComment}{IIF((ИсточникДанных1["visitDate"].ToString() == "") || (ИсточникДанных1["visitDate"] ==DBNull.Value), " ", ", "+Format("{0:MM.dd.yyyy}", ИсточникДанных1["visitDate"]))}

Спасибо.

Вложения
Поле дата - пустое.mrt
(17.84 КБ) 229 скачиваний
4it
Сообщения: 78
Зарегистрирован: 29 июн 2010, 04:46
Откуда: Moscow

Отображение содержимого ячейки в случае если одно из полей источника данных является пустым

Сообщение 4it »

Большое спасибо, помогло
Ответить