DataGridView 數據更新方法

找了很久才弄好的 記錄一個解決方案

  /// <summary>
        /// 刷新頁面數據
        /// </summary>
        void ResetViewData()
        {
            this.Invoke((Action)(() => {
                for (int i = 0; i < uiDataGridView1.RowCount; i++)
                {
                    uiDataGridView1.InvalidateRow(i);
                }
            }));
        }
        /// <summary>
        /// 刷新頁面數據
        /// </summary>
        void ResetViewData(EquipmentComEntity comEntity)
        {
            this.Invoke((Action)(() => {
                for (int i = 0; i < uiDataGridView1.RowCount; i++)
                {
                    if (((EquipmentComEntity)uiDataGridView1.Rows[i].DataBoundItem)== comEntity)
                    {
                        uiDataGridView1.InvalidateRow(i);
                    }
                }
            }));

        }

主要代碼就是

 uiDataGridView1.InvalidateRow(i);
其中文翻譯爲
  //
        // 摘要:
        //     使 System.Windows.Forms.DataGridView 中的指定行無效,並強制對它進行重新繪製。
        //
        // 參數:
        //   rowIndex:
        //     要使其無效的行的索引。
        //
        // 異常:
        //   T:System.ArgumentOutOfRangeException:
        //     rowIndex 不在 0 到行數減 1 的有效範圍內。
        public void InvalidateRow(int rowIndex);

這個辦法是目前最好的解決方案

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章