2011-04-12 66 views
0

返回上一頁指數我有以下代碼: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」中的按鈕。

感謝如常。

+0

看起來你是對所做的一切。沒有意義爲什麼你會得到以前的細胞指數。 – 2011-04-12 20:03:17

+0

次要的事情,但你回到以前的點擊的行和列索引,或只是行索引? – Kendrick 2011-04-12 20:08:05

+0

@Kendrick - 兩者都不正確。它返回之前點擊的單元格。如果我點擊行[0] .cell [0],然後行[3] .cell [4],它將返回行[0] .cell [0] – ErocM 2011-04-12 20:17:46

回答

0

如果我沒有記錯,它沒有任何關係的處理程序代碼,並且是與其他頁面事件,母版頁,驗證等東西某處劫持您的要求在.NET Framework,導致它得到推遲,但我不記得在哪裏...

把你的GridView和數據源,並把它們放在一個單獨的文件,沒有母版頁或其他干擾因素,看看問題是否會消失。

如果現在正常工作,無論是在組件從原始網頁中添加,直到你可以再次複製問題,還是回到原來的頁面,並通過它做的一切步驟。這在我身上至少發生過兩次,而我所能記得的是,這似乎完全不相關。

我不僅提供了一個相當無用的答案,但我已經再次證明了爲什麼我真的應該保持(B)日誌此廢話...

+0

我甚至於註釋掉屏幕上的一切都不過這甚至,它仍然在一樣。在這一點上,唯一的事情是這個檢查...也許它按預期工作? o.O – ErocM 2011-04-12 21:31:04