我有两个 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/