Сбросьте значение календаря UltraGrid на пустое
Один из столбцов в моем UltraGrid
имеет стиль ячейки календаря, так как тип данных этого поля Date/Time
, Начальное значение этого _ _ /_ _ /_ _
Когда я нажимаю на один из флажков ячейки стиля флажка (представляющего логическое значение в базе данных), я затем могу выбрать дату из ячейки даты, и это прекрасно работает. Однако, когда я снова нажимаю на флажок (устанавливая его из True
значение, чтобы False
), Тогда я хочу, чтобы значение даты той же строки сбрасывалось обратно на _ _ /_ _ /_ _
Как это сделать, или это вообще возможно? Я пытался использовать такие вещи, как .Reset
который не является допустимым методом, а также установка .Value = Nothing
что тоже не сработало.
1 ответ
Сначала вам нужно разрешить нулевые значения в столбце даты. Для этого вы можете обработать событие InitializeLayout сетки и установить для свойства Nullable вашего столбца даты значение Null следующим образом:
// Set Nullable property of the column to Null
e.Layout.Bands[0].Columns["Date"].Nullable = Infragistics.Win.UltraWinGrid.Nullable.Null;
Обратите внимание, вы также можете установить некоторую настраиваемую строку для ячеек с нулевым значением, установив NullText следующим образом:
// You may also set some custom string for Null cells.
e.Layout.Bands[0].Columns["Date"].NullText = "__/__/____";
Наконец, когда флажок установлен в false, вам нужно установить соответствующее значение ячейки даты в DBNull следующим образом:
// Get the row of the active cell
var row = this.ultraGrid1.ActiveCell.Row;
// Set the corresponding Date cell value to DBNull
row.Cells["Date"].Value = DBNull.Value;