分配第二个数据网格的数据源时 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,这对我也有效。
我有两个 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,这对我也有效。