我正在尝试将dataView列表添加到我的datagrid中,并且应该将其排序为DESC,但是由于某种原因,它的排序不正确。
目前,我只能看到我的结果,但不能看到排序后的DESC。
XmlDataDocument xmlDatadoc = new XmlDataDocument();
xmlDatadoc.DataSet.ReadXml("D:\\score.xml");
DataSet ds = new DataSet("Score data");
ds = xmlDatadoc.DataSet;
DataView myDataView = ds.Tables[0].DefaultView;
myDataView.Sort = "score DESC";
dataGridView1.DataSource = myDataView;
这是我应该得到的:
101
100
99
98
但这就是我所显示的:
99
98
101
100
答案 0 :(得分:0)
因此,最终我尝试了一些不同的尝试,然后将其加载到xml文件中,然后选择了要对子注进行排序并转换为int的子注,而不是对xmlFile进行排序,然后保存了已排序的xml文件,然后将其加载到了datagridView中。正确的方法。
public void xmlSort()
{
XElement root = XElement.Load("D:\\score.xml");
XElement[] sortedTables = root.Elements("xmlScore").OrderByDescending(t => (int)t.Element("score")).ToArray();
root.ReplaceAll(sortedTables);
root.Save("D:\\score.xml");
}
public void readXml()
{
FileStream fs = new FileStream("D:\\score.xml", FileMode.Open, FileAccess.Read);
ls = (List<xmlScore>)xs.Deserialize(fs);
dataGridView1.DataSource = ls;
fs.Close();
}