DataGridView 数据源内容重复

DataGridView DataSource contents duplicated

如果我转到 select 一个新的 XML 文件并将其作为 数据源 附加到 DataGridView 它不会替换网格内容,而是附加到它:

private void buttonSelectXML_Click(object sender, EventArgs e)
{
    OpenFileDialog dlgFile = new OpenFileDialog();

    dlgFile.Title = "Select XML file";
    dlgFile.Filter = "XML files (*.xml)|*.xml";
    dlgFile.FilterIndex = 0;
    dlgFile.Multiselect = false;
    dlgFile.InitialDirectory = Path.GetDirectoryName(textBoxXML.Text);
    dlgFile.FileName = textBoxXML.Text;

    if (dlgFile.ShowDialog() == DialogResult.OK)
    {
        Properties.Settings.Default.XMLPath = dlgFile.FileName;
        textBoxXML.Text = dlgFile.FileName;

        dataSet.ReadXml(textBoxXML.Text);
        dataGridView.DataSource = dataSet.Tables[0];
    }
}

用新的XML数据源替换当前网格内容而不是追加的正确方法是什么?

谢谢。

无论如何都不应该是这种情况,并且您的网格数据应该会刷新,因为您正在重新绑定它。作为替代方案,尝试将数据源设置为 null like

    dataSet.ReadXml(textBoxXML.Text);
    dataGridView.DataSource = null;
    dataGridView.DataSource = dataSet.Tables[0];

我觉得你应该打电话给

dataGridView.DataBind()