zoukankan      html  css  js  c++  java
  • Winform DataGridView修改数据源界面不刷新问题

    错误描述

    对于dataGridView,设置数据源为一个List集合时,修改了List集合以后即使重新设置数据源界面也不会刷新。

    注:如果先设置DataSource=null;可以重新加载,但是界面设计器里面设置的列名称,表头全部消失。

    解决方法

    1. 设置数据源为DataTable
    2. 使用Rows.Add方法添加子项,需要重新加载数据时,先用Rows.Clear清理所有子项。

    示例代码

    private void BindData()
            {
                this.dgvMappings.ColumnCount = 5;
                this.dgvMappings.Columns[0].HeaderText = "数据源表名称";
                this.dgvMappings.Columns[1].HeaderText = "数据源表主键";
                this.dgvMappings.Columns[2].HeaderText = "目标表名称";
                this.dgvMappings.Columns[3].HeaderText = "数据源查询字段";
                this.dgvMappings.Columns[4].HeaderText = "目标表插入字段";
    
                this.dgvMappings.Columns[0].Name = "SourceTableName";
                this.dgvMappings.Columns[1].Name = "SourceTablePrimaryKey";
                this.dgvMappings.Columns[2].Name = "TargetTableName";
                this.dgvMappings.Columns[3].Name = "SourceFields";
                this.dgvMappings.Columns[4].Name = "TargetFields";
    
                this.dgvMappings.Columns[0].Width = 100;
                this.dgvMappings.Columns[1].Width = 100;
                this.dgvMappings.Columns[2].Width = 100;
                this.dgvMappings.Columns[3].Width = 215;
                this.dgvMappings.Columns[4].Width = 215;
    
                this.dgvMappings.Rows.Clear();
                foreach(var map in settings.TableMapings)
                {
                    this.dgvMappings.Rows.Add(new string[] { map.SourceTableName,map.SourceTablePrimaryKey,map.TargetTableName,map.SourceFields,map.TargetFields });
                }
    
            }
  • 相关阅读:
    Java 应用性能调优实践
    Java序列化——实现Serializbale接口
    Bootstrap3快速使用
    C语言程序设计_zju——记录1
    《图解密码技术》——记录1
    电脑win10蓝屏,INACCESSIBLE BOOT DEVICE,处理方法
    读书笔记之《如何高效学习》
    读书笔记之《番茄工作法图解》
    读书笔记之《富爸爸与穷爸爸》
    读书笔记之《微习惯》
  • 原文地址:https://www.cnblogs.com/shya/p/4413462.html
Copyright © 2011-2022 走看看