關於C# DataGridView 全選與取消的小問題

來源:互聯網
上載者:User

標籤:

小弟我前面是做遊戲的用的是c++  現今用c#來做  有些不熟悉可能理解上有誤  歡迎大家紙張

 private void btnSelectOrCancel_Click(object sender, EventArgs e)
        {
            bool isChecked = false;
            foreach (DataGridViewRow gvRow in dgvData.Rows)
            {
                string strState = gvRow.Cells[dgvData.ColumnCount - 1].Value.ToString();
                if (!(strState.CompareTo("True") == 0 || strState.CompareTo("true") == 0))
                {
                    isChecked = true;
                    break;
                }
            }
            for(int i = 0;i < dgvData.RowCount;++i)
            {
                dgvData.Rows[i].Cells[dgvData.ColumnCount - 1].Value = isChecked;
            }
        }

這段代碼有問題  當我的一個儲存格被點擊再點全選,該儲存格的視圖沒有發生變化。我打日誌不斷調試 探索資料是對的  猜測是視圖沒更新或者資料緩衝的問題。

於是我就查看關於DataGridView的相關屬性,其中有一個屬性CurrentCell。當點擊某個cell時  那這個屬性將會變為這個cell。此時我們只需要在全選按鈕點擊事件最開始將我們的DataGridView的CurrentCell的值置為null。這個問題就解決了。其實還有另一個方法 就是資料來源進行操作。這種方法大家應該都瞭解這裡就不做解釋。

關於C# DataGridView 全選與取消的小問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.