dataview排序不正确

时间:2019-01-10 13:24:31

标签: c# xml datagridview

我正在尝试将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

1 个答案:

答案 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();
    }