我在datagridView 中加了这个方法
datagridView1_CurrentCellChanged(object sender, EventArgs e)
每次填充datagridView 的时候这个方法总是执行,导致报错,
有没有什么办法 只是只改变当前行时执行,而填充的时候不执行啊!!!!!
感谢!!!
datagridView1_CurrentCellChanged(object sender, EventArgs e)
每次填充datagridView 的时候这个方法总是执行,导致报错,
有没有什么办法 只是只改变当前行时执行,而填充的时候不执行啊!!!!!
感谢!!!
//填充前
datagridView1.CurrentCellChanged -= new EventHandler(datagridView1_CurrentCellChanged);
//填充后
datagridView1.CurrentCellChanged += new EventHandler(datagridView1_CurrentCellChanged);
换个事件,要不就在这个事件里加try catch
回1楼,加了还是不行,
我是每次移动当前行时,都重新填充datagridView有没有方法 取消或清空datagridView1的数据绑定?
{
int m = this.dgvData.CurrentRow.Index;
DataTable dt = (DataTable)dgvData.DataSource;
DataRow dr = dt.Rows[m];
strOrder_no = dr["order_no"].ToString().Trim();
this.filldateONtext(strOrder_no);
}
private void filldateONtext(string text)
{
try
{
string sql = "exec usp_get100RowOrder_no '" + text + "'";
DataSet ds = new DataSet();
SqlHelper.FillDataset(con, CommandType.Text, sql, ds, new string[] { "table0" });
dgvData.CurrentCellChanged -= new EventHandler(dgvData_CurrentCellChanged); this.dgvData.DataSource = null;
this.dgvData.Refresh();
this.dgvData.DataSource = ds.Tables[0];
dgvData.CurrentCellChanged += new EventHandler(dgvData_CurrentCellChanged);
}我现在第一次填充数据不报错了,可是我移动当前行的时候
在 this.dgvData.DataSource = null;这句开始报错
仍然报错“because it results in a reentrant call to the sercurrentcelladdresscore function”
各位大侠救救
2. 传值的问题
3. 用VS跟踪来查错误然后各各解决
{
//执行事件
}
或添加标识属性,动态添加datagridView1.CurrentCellChanged -= new EventHandler(datagridView1_CurrentCellChanged);