В качестве источника данных имеется datatable, в котором могут быть null значения. Соответственно в отчете хочется их видеть как пустые.
Пример для воспроизведения:
Код: Выделить всё
var d = new DataTable("test");
var dc = new DataColumn("x", typeof (decimal));
dc.AllowDBNull = true;
d.Columns.Add(dc);
d.Rows.Add(1);
d.Rows.Add(DBNull.Value);
var report = new StiReport();
report.RegData(d);
report.Design();
При этом отчет определяет тип поля как decimal. Если сменить его в дизайнере на Nullable<decimal>, то все отображается как нужно.
Однако при повторном открытии дизайнера (либо после вызова report.Dictionary.Synchronize()) тип поля снова меняется на decimal.
Можно ли сделать чтобы автоматически выставлялся тип поля Nullable<> для колонок datatable с установленным свойством AllowDbNull?