var ds = new DataSet();
ds.ReadXml(XMLFile);
DataGridLogView.DataSource = ds.Tables["Header"];
DataGridLogView.DataMember = "Data";
DataGridLogView.Columns.Add("5", "Record #");
DataGridLogView.Columns.Add("6", "Record");
列">5"和"6"是我在数据源加载后添加的问题列。我可以对我创建的两个列(5 和 6(以外的任何列进行排序,但是当我对任何列进行排序时,我创建的两列将清除我添加的所有数据,我似乎无法弄清楚它为什么要这样做。 提前感谢!
将 DataGridView 控件绑定到外部数据源时,排序时不会自动保留非数据绑定单元格。您添加的列不在数据集中,因此它们将被清除。如果列"5"和"6"派生自行数据,则可以尝试在 DataGridView.RowsAdd 事件中填充它们。或者,您可以在 DataGridView.Sort 事件中重新加载这些列。
datatable.Columns.Add("Record #", typeof(string));
datatable.Columns.Add("Record", typeof(string));
在设置 datagridviews 数据源之前,我必须将列添加到数据集中,然后排序效果很好。