如何在c#中为datagridview列单元格设置默认值,而某些列用数据库值填充,而某些列用默认值填充,就像这样...... 例如,第1列,第2列,第3列从数据库值填充,剩余列第4列单元格用9 AM填充,第5列用6 PM填充
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";
}
我使用此代码,但值位于行的末尾,列是datagridview的“In_Tim”列,在我单击特定单元格之前,这些值是不可见的。
如何填写所有列单元格中的默认值?
答案 0 :(得分:2)
dataGridView1.Columns["in_time"].DefaultCellStyle.NullValue = "9 AM";
dataGridView1.Columns["Out_time"].DefaultCellStyle.NullValue = "6 PM";
经过一些建议后
这就是我想在datagridview列中显示的方式
答案 1 :(得分:2)
DataGridView控件有一个名为DefaultValuesNeeded的事件,它处理新添加的行的默认值填充。
MSDN article regarding this event
本文中概述的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();
}