如何在c#中为datagridview列单元格设置默认值

Shi*_*own 2 c# sql default datagridview

如何在 c# 中为 datagridview 列单元格设置默认值,而有些列填充数据库值,有些列填充默认值,例如这样..
例如,从数据库值填充的第 1 列、第 2 列、第 3 列和其余列第 4 列单元格在上午 9 点填充,第 5 列在下午 6 点填充

private void dataGridView1_DefaultValuesNeeded(object sender, 
                                               DataGridViewRowEventArgs e)
{
    // This is not working as I explain below
    e.Row.Cells["in_time"].Value = "9 AM";
    e.Row.Cells["Out_time"].Value = "6 PM";
} 
Run Code Online (Sandbox Code Playgroud)

我使用此代码,但值位于行的末尾,列是 datagridview 的“In_Tim”列,并且在单击特定单元格之前,这些值是不可见的。
如何在所有列单元格中填充默认值?

Tyl*_*ing 9

DataGridView 控件有一个名为 DefaultValuesNeeded 的事件,它处理新添加行的默认值填充。

有关此事件的 MSDN 文章

文章中概述的 DefaultValuesNeeded 事件的基本语法如下:

private void dataGridView1_DefaultValuesNeeded(object sender, System.Windows.Forms.DataGridViewRowEventArgs e)
{
    e.Row.Cells["Region"].Value = "WA";
    e.Row.Cells["City"].Value = "Redmond";
    e.Row.Cells["PostalCode"].Value = "98052-6399";
    e.Row.Cells["Country"].Value = "USA";
    e.Row.Cells["CustomerID"].Value = NewCustomerId();
}
Run Code Online (Sandbox Code Playgroud)


Shi*_*own 5

dataGridView1.Columns["in_time"].DefaultCellStyle.NullValue = "9 AM";
dataGridView1.Columns["Out_time"].DefaultCellStyle.NullValue = "6 PM";  
Run Code Online (Sandbox Code Playgroud)

经过一些建议这就是我想在 datagridview 列中显示的方式

  • 这是空值,意味着它仅在单元格值为空时显示,并不是真正的默认值。 (3认同)