Передача нулевого datetime классу параметров отчета?
Как я могу поставить нулевое значение для типа переменной datetime?
Я пытался сделать это значение обнуляемым, но мне нужно использовать его в ReportParameter()
способ отправить его в мой отчет, но ReportParameter()
конструктор не может принимать значение NULL, а ReportParameter() принимает только строковые значения!
2 ответа
Различные конструкторские перегрузки для ReportParameter
принимать только строку или массив строк в качестве допустимого ввода.
И ReportParameter.Values
Само свойство на самом деле StringCollection
чтобы заставить сериализацию происходить во время компиляции.
Но вы можете передать нулевое значение со строковым типом для каждого потока при передаче параметра NULL со страницы aspx на сервер отчетов следующим образом:
var rp = new ReportParameter("ServiceType_cd", new string[] { null });
Или по этому вопросу Средство просмотра отчетов: Установите нулевое значение в Параметры отчета, разрешив null true, вы можете передать значение, подобное этому:
string str = null;
var rp = new ReportParameter("ServiceType_cd", str));
Вы можете создать метод расширения FailIfNull() для этой цели. Пожалуйста, посмотрите здесь для получения дополнительной информации о методах расширения.