我有以下代码:
private void dgv_Checks_CellClick(object sender, DataGridViewCellEventArgs e)
{
DoThis();
if (e.RowIndex < 0)
return;
if (dgv_Checks.CurrentCell.OwningColumn.Name == "CopyBalance")
dgv_Checks.Rows[e.RowIndex].Cells["CheckAmountColumn"].Value = dgv_Checks.Rows[e.RowIndex].Cells["AccountBalanceColumn"].Value;
// ****** THIS IS WHERE I AM HAVING ISSUES ******
if (e.RowIndex > -1 && dgv_Checks.Columns[e.ColumnIndex].Name == "SearchColumn")
{
var acctno = dgv_Checks.Rows[e.RowIndex].Cells["AccountNumberColumn"].Value.ToString().Trim();
if (acctno.Length == 7)
{
var acctname = GetAccountName(acctno);
if (acctname.Trim().Length > 0)
{
dgv_Checks.Rows[e.RowIndex].Cells["NameColumn"].Value = acctname;
dgv_Checks.Rows[e.RowIndex].Cells["AccountBalanceColumn"].Value = GetAccountBalance(acctno);
}
else
{
AccountSearchScreen(dgv_Checks.CurrentRow);
}
}
else
{
AccountSearchScreen(dgv_Checks.CurrentRow);
}
}
dgv_Checks.Rows[e.RowIndex].Cells["CheckAmountColumn"].Value = dgv_Checks.Rows[e.RowIndex].Cells["AccountBalanceColumn"].Value;
}
当它到达这一行时:
if (e.RowIndex > -1 && dgv_Checks.Columns[e.ColumnIndex].Name == "SearchColumn")
我正在取回上一个单元格的索引,所以我总是单击一下。我没有使用正确的活动吗?我只想捕获按钮单击,只捕获“SearchColumn”中的那个按钮。
像往常一样感谢。
答案 0 :(得分:0)
如果我没记错的话,它与处理程序代码无关,与其他页面事件,母版页,验证等有关。某些东西在.net框架中某处劫持您的请求导致它获取延迟了,但我不记得在哪里......
获取gridview和datasource,并将它们放在一个没有母版页或其他混淆因素的单独文件中,看看问题是否消失。
如果它现在正常工作,请从原始页面添加组件,直到您可以再次复制问题,或者返回原始页面并逐步完成它所做的一切。这至少发生在我身上两次,而我所能记住的是,它似乎完全不相关。
我不仅提供了一个相当无用的答案,而且我再次证明了为什么我应该保留(b)这个废话的日志......