2016-09-12 2 views
1

UltraGridの列の1つに、カレンダー選択のセルスタイルがあります。そのフィールドのデータ型はDate/Timeです。これの初期値は_ _/_ _/_ _UltraGridカレンダーピッカーの値を空白に戻す

チェックボックススタイルのセル(データベースのブール値を表す)のチェックボックスの1つをクリックすると、日付セルから日付を選択することができます、これは正常に動作します。ただし、チェックボックスを再度クリックして(Trueの値からFalseに設定すると)、同じ行の日付値を_ _/_ _/_ _にリセットします。

これはどのように行われますか、それとも可能ですか?私は.Resetのようなものを使って試してみましたが、これは有効な方法ではないと思われ、.Value = Nothingにも設定されていました。これも動作しませんでした。

答えて

1

まず、日付列にNULL値を許可する必要があります。そのためには、グリッドのInitializeLayoutイベントを処理し、このようにNullにあなたの日付列のNULL可能プロパティを設定することがあります。

// Set Nullable property of the column to Null 
e.Layout.Bands[0].Columns["Date"].Nullable = Infragistics.Win.UltraWinGrid.Nullable.Null; 

注意、あなたも同じようNullTextを設定することで、NULL値を持つ細胞のためのいくつかのカスタム文字列を設定することができますこの:チェックボックスがfalseに設定されている場合

// 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; 
関連する問題