返回上一頁指數我有以下代碼:C#的DataGridView CellClick上點擊
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」中的按鈕。
感謝如常。
看起來你是對所做的一切。沒有意義爲什麼你會得到以前的細胞指數。 – 2011-04-12 20:03:17
次要的事情,但你回到以前的點擊的行和列索引,或只是行索引? – Kendrick 2011-04-12 20:08:05
@Kendrick - 兩者都不正確。它返回之前點擊的單元格。如果我點擊行[0] .cell [0],然後行[3] .cell [4],它將返回行[0] .cell [0] – ErocM 2011-04-12 20:17:46