首页 > Windows开发 > 详细

Winform DataGridView修改数据源界面不刷新问题

时间:2015-04-10 08:21:19      阅读:487      评论:0      收藏:0      [点我收藏+]

错误描述

对于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 });
            }

        }

 

Winform DataGridView修改数据源界面不刷新问题

原文:http://www.cnblogs.com/shya/p/4413462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!