表列标头不对数据进行排序

本文关键字:数据 排序 | 更新日期: 2023-09-27 18:08:20

我是一个相当初级的c#开发人员,所以如果这很容易,请原谅我。我试图排序的数据在ASCDESC的顺序时,击中表列标题,但由于某种原因,它没有这样做。

这是排序代码,供您检查:

if (sorting != null)
                {
                    if (sorting.Equals("TrackID ASC"))
                    {
                        daa.OrderBy(p => p.TrackID);
                    }
                    else if (sorting.Equals("TrackID DESC"))
                    {
                        daa.OrderByDescending(p => p.TrackID);
                    }
                    if (sorting.Equals("TrackName ASC"))
                    {
                        daa.OrderBy(p => p.TrackName);
                    }
                    else if (sorting.Equals("TrackName DESC"))
                    {
                        daa.OrderByDescending(p => p.TrackName);
                    }
                    else if (sorting.Equals("DateTimes ASC"))
                    {
                        daa.OrderBy(p => p.Date);
                    }
                    else if (sorting.Equals("DateTimes DESC"))
                    {
                        daa.OrderByDescending(p => p.Date);
                    }
                    else if (sorting.Equals("ArtistName ASC"))
                    {
                        daa.OrderBy(p => p.ArtistName);
                    }
                    else if (sorting.Equals("ArtistName DESC"))
                    {
                        daa.OrderByDescending(p => p.ArtistName);
                    }
                    else if (sorting.Equals("Times ASC"))
                    {
                        daa.OrderBy(p => p.Times);
                    }
                    else if (sorting.Equals("Times DESC"))
                    {
                        daa.OrderByDescending(p => p.Times);
                    }
                }

有人能解释一下为什么它不工作,我如何工作,并实现它在ASCDESC顺序排序的数据?

任何帮助将是伟大的:)谢谢

表列标头不对数据进行排序

如果我没记错的话,方法"OrderBy"answers" orderbydescent "不会对直接调用它们的对象进行排序。相反,它们返回IOrderedEnumerable<所以你需要使用IOrderedEnumerable作为引用来排序你的数据集合,或者从IOrderedEnumerable创建你的集合类型并将其传递给data。当然还有刷新ui>

if (sorting != null)
                {
                    if (sorting.Equals("TrackID ASC"))
                    {
                       daa = daa.OrderBy(p => p.TrackID).ToList();
                    }
                    else if (sorting.Equals("TrackID DESC"))
                    {
                      daa =  daa.OrderByDescending(p => p.TrackID).ToList();
                    }
                    if (sorting.Equals("TrackName ASC"))
                    {
                     daa =   daa.OrderBy(p => p.TrackName).ToList();
                    }
                    else if (sorting.Equals("TrackName DESC"))
                    {
                      daa =  daa.OrderByDescending(p => p.TrackName).ToList();
                    }
                    else if (sorting.Equals("DateTimes ASC"))
                    {
                       daa = daa.OrderBy(p => p.Date).ToList();
                    }
                    else if (sorting.Equals("DateTimes DESC"))
                    {
                      daa =  daa.OrderByDescending(p => p.Date).ToList();
                    }
                    else if (sorting.Equals("ArtistName ASC"))
                    {
                       daa = daa.OrderBy(p => p.ArtistName).ToList();
                    }
                    else if (sorting.Equals("ArtistName DESC"))
                    {
                      daa =  daa.OrderByDescending(p => p.ArtistName).ToList();
                    }
                    else if (sorting.Equals("Times ASC"))
                    {
                      daa =  daa.OrderBy(p => p.Times).ToList();
                    }
                    else if (sorting.Equals("Times DESC"))
                    {
                      daa =  daa.OrderByDescending(p => p.Times).ToList();
                    }
                }