2016-09-12 6 views
1

Один из столбцов моего UltraGrid имеет стиль ячейки для выбора календаря, так как тип данных этого поля равен Date/Time. Начальное значение этого параметра: _ _/_ _/_ _Сбросить значение выбора календаря UltraGrid до пустого

Когда я нажимаю на один из флажков ячейки стиля флажка (представляющий логическое значение в базе данных), я тогда могу выбрать дату из ячейки , и это прекрасно работает. Однако, когда я снова нажимаю на этот флажок (устанавливая его из значения True), я хочу, чтобы значение даты той же строки возвращалось обратно _ _ ​​/ , или это даже возможно? Я пробовал использовать такие вещи, как .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 = "__/__/____"; 

Наконец, когда флажок установлен в ложь вам нужно будет установить соответствующее значение даты ячейки для 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; 
Смежные вопросы