c# - 分配第二个数据网格的数据源时,DataGridView 不更新

标签 c# datagridview refresh

我有两个 dataGridView,但只显示一个。 它们都有完全相同的列,但值不同。 问题是只显示一个,当我选择第一个或第二个 dataGridView 时,显示某些内容的 dataGridView 停止并且根本不再工作。

我试过了

dataGridView1 = DataGridView2;

像这样

BindingSource b = new BindingSource();                
b.DataSource = dataGridView2.DataSource;
dataGridView1.DataSource = null;
dataGridView1.DataSource = b;
dataGridView1.Visible = true;
dataGridView1.AutoGenerateColumns = true;

但没有任何效果...是的,我尝试了 Update()Refresh()

最佳答案

您可以借助以下简单示例验证您的应用程序

namespace GridView
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            DataSet ds= new DataSet();
            ds.ReadXml(@"C:\Users\user\Desktop\students.xml");
            dataGridView1.AutoGenerateColumns = true;
            dataGridView1.DataSource = ds;
            dataGridView1.DataMember = "student";
            Application.DoEvents();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            BindingSource b = new BindingSource();
            dataGridView2.AutoGenerateColumns = true;
            b.DataSource = dataGridView1.DataSource;
            dataGridView2.DataMember = "student";
            dataGridView2.DataSource = b;
        }
    }
}

我认为您错过了 DataMember 属性,我将网格 1 的数据源分配给网格 2,这也适用于我。

关于c# - 分配第二个数据网格的数据源时,DataGridView 不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32694710/

相关文章:

google-chrome - 如何在 Google Chrome 中阻止页面自动刷新?

javascript - 使用 AJAX 自动刷新内容

c# - 将数据行转换为 int

c# - 如何解密字符串

.net - DataGridView - 如何设置列宽?

c# - 如何在动态添加现在数据之前清除 dataGridView 行以前的数据....?

c# - 如何提高 Leetcode 4sum-ii 挑战的性能

c# - WP8 : LongListSelector with ContextMenu to delete an item

每个单元格具有不同数据源的 DataGridView 组合框

javascript - 如何刷新 Controller 以更改/刷新 AngularJS 中的 JSON 调用?