private void dataGridView1_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs es)
{
// 设定单元格的默认值
es.Row.Cells["myclass"].Value = 0;
es.Row.Cells["sex"].Value = "男";
es.Row.Cells["password"].Value = "1";
}
为什么当我添加新行时,并未触发这个函数,添加的记录里也没有这些默认值。
6 个解决方案
#1
用这个insertrow(0)函数
#2
DefaultValuesNeeded事件只有当datagridview选中“启用添加”,并且是用户鼠标进入带*的新行才会触发,用代码添加新行是不会触发的。你必须使用
dgvMeter.Rows.Add(内容,内容,...);设定默认值。
dgvMeter.Rows.Add(内容,内容,...);设定默认值。
#4
1.默认值,加载页面,先绑定字段就基本OK了(可加入控件隐藏辅助)
2.添加的时候赋值
3.加入多字段原始值约束这样可以避免并发(可内存操作增删改)性能比较好!
#5
//绑定字段
public void Binding()
{
this.TxtMachineNo.DataBindings.Add("Text", dt, "MachineNo");
this.TxtMachineCode.DataBindings.Add("Text", dt, "MachineCode");
this.TxtPartCode.DataBindings.Add("Text", dt, "PartCode");
this.TxtPartName.DataBindings.Add("Text", dt, "PartName");
//this.CbValidity.DataBindings.Add("Checked", dt, "DelFlg");
this.TxtChanger.DataBindings.Add("Text", dt, "Changer");
this.TxtChangeDate.DataBindings.Add("Text", dt, "ChangeDate");
this.DgvMachinePart.DataSource = dt;
}
#6
没继续研究 c#.net学得很马马虎虎
#1
用这个insertrow(0)函数
#2
DefaultValuesNeeded事件只有当datagridview选中“启用添加”,并且是用户鼠标进入带*的新行才会触发,用代码添加新行是不会触发的。你必须使用
dgvMeter.Rows.Add(内容,内容,...);设定默认值。
dgvMeter.Rows.Add(内容,内容,...);设定默认值。
#3
#4
1.默认值,加载页面,先绑定字段就基本OK了(可加入控件隐藏辅助)
2.添加的时候赋值
3.加入多字段原始值约束这样可以避免并发(可内存操作增删改)性能比较好!
#5
//绑定字段
public void Binding()
{
this.TxtMachineNo.DataBindings.Add("Text", dt, "MachineNo");
this.TxtMachineCode.DataBindings.Add("Text", dt, "MachineCode");
this.TxtPartCode.DataBindings.Add("Text", dt, "PartCode");
this.TxtPartName.DataBindings.Add("Text", dt, "PartName");
//this.CbValidity.DataBindings.Add("Checked", dt, "DelFlg");
this.TxtChanger.DataBindings.Add("Text", dt, "Changer");
this.TxtChangeDate.DataBindings.Add("Text", dt, "ChangeDate");
this.DgvMachinePart.DataSource = dt;
}
#6
没继续研究 c#.net学得很马马虎虎