簡體   English   中英

DataGridView CheckBox ToolStripMenuItem - 最后一個CheckBox單擊沒有注冊?

[英]DataGridView CheckBox ToolStripMenuItem - last CheckBox clicked not registering?

我最近改變了我的表單,使用toolStripMenuItems來執行進程而不是按鈕。 我將現有的btnWhatever_Click()綁定到菜單項的Click事件。

我有一列復選框來選擇要處理的行。 我點擊的最后一個復選框是可見的,但是當我從菜單而不是按鈕運行處理時,它被忽略。 在處理之前,我總是計算檢查次數,以確保用戶知道他們正在處理多少行。 它總是比它應該少1。

private int countApprovalChecks()
{
  //count approval check marks
  int ctr = 0;
  foreach (DataGridViewRow row in dgvAppManualReviewMatches.Rows)
  {
    if (Convert.ToBoolean(row.Cells[chkApprove.Name].Value) == true)
    {
      ctr++;
    }
  }
  return ctr;
}

我錯過了什么?

我猜你的網格仍然處於編輯模式,這會影響行的值:

private int countApprovalChecks()
{
  dgvAppManualReviewMatches.EndEdit();

  //count approval check marks
  int ctr = 0;
  foreach (DataGridViewRow row in dgvAppManualReviewMatches.Rows)
  {
    if (Convert.ToBoolean(row.Cells[chkApprove.Name].Value) == true)
    {
      ctr++;
    }
  }
  return ctr;
}

當您在按鈕中輸入代碼時,它將使焦點遠離網格,結束編輯模式,但您的菜單項不會消除焦點,因此您的編輯模式仍在繼續。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM