相关疑难解决方法(0)

使所有datagridview列可排序

我有一个Windows窗体datagridview.

理想情况:

用户点击九列中的任何一列,程序会对所有数据进行排序,如果点击的列包含数字,我希望顶部的数字最小.如果单击的列包含一个字符串,我希望它按字母顺序排序(AZ).

我现在拥有的:

我在Stack Overflow上看到了一个老问题,OP在点击"a"标题时如何对datagridview进行排序.与我的不同之处在于我希望我的datagridview可以通过九列中的任何一列进行排序.

我有这个代码,从我发现的问题中窃取:

dataGridView2.DataSource = listPlayers.Select(s => new { voornaam = s.Voornaam, 
                                                        Achternaam = s.Achternaam, 
                                                        positie = s.Positie, 
                                                        Nationaltieit = s.Nationaliteit, 
                                                        Leeftijd = s.Age, 
                                                        Aanval = s.Aanval, 
                                                        Verdediging = s.Verdediging, 
                                                        Gemiddeld = s.Gemiddeld, 
                                                        waarde = s.TransferWaarde })
                                   .OrderBy(s => s.Achternaam)
                                   .ToList();

foreach(DataGridViewColumn column in dataGridView2.Columns)
    {
        dataGridView2.Columns[column.Name].SortMode =
                                  DataGridViewColumnSortMode.Automatic;
    }
Run Code Online (Sandbox Code Playgroud)

这只允许用户在点击九列中的一列时通过"Achternaam"订购.我想要的是当用户点击Nationaliteit列时,数据按An排在最前面.每个专栏都是如此

这是列表播放器列表:

namespace SimulatorSimulator
{
    class SpelerData
    {
        public string Voornaam { get; set; }
        public string Achternaam { get; set; }
        public string …
Run Code Online (Sandbox Code Playgroud)

c# datagridview

9
推荐指数
1
解决办法
539
查看次数

DataGridView - 通过单击列标题对通用列表进行排序

当我分配 a 的List<MyClass>toDataSourceDataGridView,当我单击列标题时,没有任何反应并且排序不起作用;但如果我使用 aDataTable作为数据源,则单击标题时排序工作完美。

问题是:应该使用哪种集合类型来启用排序,DataGridView就像DataTable单击列标题时一样?

.net c# datagridview winforms

3
推荐指数
1
解决办法
3211
查看次数

标签 统计

c# ×2

datagridview ×2

.net ×1

winforms ×1