将 UltraGrid 日历选择器的值重置为空白
Reset the value of an UltraGrid calendar picker to blank
我的 UltraGrid
中的一列具有日历选择器的单元格样式,因为该字段的数据类型是 Date/Time
。这个的初始值为_ _ /_ _ /_ _
当我单击复选框样式单元格(代表数据库中的布尔值)的复选框之一时,我可以 select 来自日期单元格的日期,这工作正常。但是,当我再次单击该复选框(将其从 True
值设置为 False
)时,我希望同一行的日期值重置回 _ _ / _ _ / _ _
这是怎么做到的,甚至可能吗?我试过使用 .Reset
之类的东西,这似乎不是一个有效的方法,以及设置为 .Value = Nothing
,这也没有用。
首先,您需要在日期列中允许空值。为此,您可以处理网格的 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;
我的 UltraGrid
中的一列具有日历选择器的单元格样式,因为该字段的数据类型是 Date/Time
。这个的初始值为_ _ /_ _ /_ _
当我单击复选框样式单元格(代表数据库中的布尔值)的复选框之一时,我可以 select 来自日期单元格的日期,这工作正常。但是,当我再次单击该复选框(将其从 True
值设置为 False
)时,我希望同一行的日期值重置回 _ _ / _ _ / _ _
这是怎么做到的,甚至可能吗?我试过使用 .Reset
之类的东西,这似乎不是一个有效的方法,以及设置为 .Value = Nothing
,这也没有用。
首先,您需要在日期列中允许空值。为此,您可以处理网格的 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;