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);
复制代码

这个办法是目前最好的解决方案

posted @   AnAng  阅读(954)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2019-01-18 把JSON转换成键值对
点击右上角即可分享
微信分享提示