请问怎么捕捉dataGridView中单元格的写入事件啊,就是单元格一录数据就改变另一个单元格,来点提示也好啊。 请问怎么捕捉dataGridView中单元格的写入事件啊,就是有1单元格一录数据后就改变另一个单元格的值,来点提示也好啊。我数据表绑定后,有2列,想在其中1列输入数据后,另一列运算后改变。现在不知道怎么捕捉这个事件,如果是ASP的那还好办,这种C/S的是怎么捕捉的啊,具体实现可否来点提示啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dataGridView1.Rows[e.RowIndex].Cells["本月产量"].Value =100;这个怎么无法赋值呢? private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e) { }//这个是当你在当元格输入值后,刚离这个单元格时发生的事件.估计lz要像TextBoxChanged那样的事件,呵呵 应该可以的,跟踪一下String[] str = ReplaceHeaderText(GV_PriceInfo.Columns[i].HeaderText); PriceRangeSDO data = new PriceRangeSDO(); data = PriceRangeCollection.Find(delegate(PriceRangeSDO obj) { return obj.UpperLimit == JYWL.Proxy.Cache.Cache.StrToFloat(str[0 ]) && obj.LowerLimit == JYWL.Proxy.Cache.Cache.StrToFloat(str[1]); }); if (data != null) { PriceInfoSDO unitprice = PriceInfoCollection.Find(delegate(PriceInfoSDO obj) { return obj.Area_ID == area && obj.Area_ID2 == area2 && obj.PriceRange_ID == data.ID; }); if (unitprice != null) { DataGridViewRow row = GV_PriceInfo.Rows[0].Clone() as DataGridViewRow; GV_PriceInfo.Rows[j].Cells[i].Value = unitprice.UnitPrice;//赋值 } }我也是这样赋值的,不过我是循环添加的,应该一样的 LZ可以试下事件的动态绑定。CELLCREATE的时候给每个TEXTBOX绑个CHANGE事件。 当然前提是LZ用的是模板列里加TEXTBOX。 datagridview有个cellvaluechanged事件!你可以利用他来弄 ref:当然前提是LZ用的是模板列里加TEXTBOX这是winform程序,哪里来模板列加textbox?本来就默认添加的是textbox列你在cellvaluechanged时间来弄应该是可以的不知道楼主是怎么弄的? private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { TextBox cb = e.Control as TextBox; if (cb != null) { cb.TextChanged += new EventHandler(cb_TextChanged); } } void cb_TextChanged(object sender, EventArgs e) { //执行内容 }这样可行。哈哈 private void dataGridView_CellValueChanged修改数据源重新绑定 private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { TextBox cb = e.Control as TextBox; if (cb != null) { cb.TextChanged += new EventHandler(cb_TextChanged); } } void cb_TextChanged(object sender, EventArgs e) { //LZ要执行的方法 }这个方法我测试过的,和textbox的TextBoxChanged事件一样,即时判断的 在dataGridView1_CellValueChanged里想怎么改就怎么改。 原理应该类似与textbox的change事件吧 -----关于 winform 的 Application.Restart() 问题,求解! form传值问题(我是菜鸟) 模块设计文档中“子模块的接口与属性”怎么写 想断掉这个疑惑,期待着大家的指点。 【】如何在C#实现中文HZ编码的解码?希望各位大大能提供源码。。。多谢多谢。。。 开发环境问题 处理XMLDOM的问题 (急求,谢谢)C#调用VC写的dll,float** 参数怎么对应阿? 高手救命(在线等待) 灌水,我开始觉得这个论坛不好玩。 socket通信问题。 求助:引用“Excel”是一个需要完全信任的互操作程序集。
private void dataGridView_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{ }
//这个是当你在当元格输入值后,刚离这个单元格时发生的事件.估计lz要像TextBoxChanged那样的事件,呵呵
PriceRangeSDO data = new PriceRangeSDO();
data = PriceRangeCollection.Find(delegate(PriceRangeSDO obj)
{
return obj.UpperLimit == JYWL.Proxy.Cache.Cache.StrToFloat(str[0
]) && obj.LowerLimit == JYWL.Proxy.Cache.Cache.StrToFloat(str[1]);
});
if (data != null)
{
PriceInfoSDO unitprice = PriceInfoCollection.Find(delegate(PriceInfoSDO obj) { return obj.Area_ID == area && obj.Area_ID2 == area2 && obj.PriceRange_ID == data.ID; });
if (unitprice != null)
{
DataGridViewRow row = GV_PriceInfo.Rows[0].Clone() as DataGridViewRow;
GV_PriceInfo.Rows[j].Cells[i].Value = unitprice.UnitPrice;//赋值
}
}我也是这样赋值的,不过我是循环添加的,应该一样的
CELLCREATE的时候给每个TEXTBOX绑个CHANGE事件。
这是winform程序,哪里来模板列加textbox?本来就默认添加的是textbox列你在cellvaluechanged时间来弄应该是可以的
不知道楼主是怎么弄的?
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox cb = e.Control as TextBox;
if (cb != null)
{
cb.TextChanged += new EventHandler(cb_TextChanged);
} } void cb_TextChanged(object sender, EventArgs e)
{
//执行内容
}
这样可行。哈哈
修改数据源
重新绑定
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox cb = e.Control as TextBox;
if (cb != null)
{
cb.TextChanged += new EventHandler(cb_TextChanged);
} } void cb_TextChanged(object sender, EventArgs e)
{
//LZ要执行的方法
}这个方法我测试过的,和textbox的TextBoxChanged事件一样,即时判断的