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

时间:2015-09-21 12:00:54

标签: c# datagridview refresh

我有两个dataGridViews,但只显示了一个。 它们都具有完全相同的列但具有不同的值。 问题是只显示了一个,当我选择第一个或第二个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()

1 个答案:

答案 0 :(得分:1)

您可以通过以下简单示例

来验证您的应用程序
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,这也适用于我。