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

DataGridView doesn't update when assigning datasource of second datagrid

我有两个 dataGridView,但只显示了一个。 它们都有完全相同的列,但值不同。 问题是只显示了一个,当我 select 第一个或第二个 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,这对我也有效。