C# 使用瑞典语字母-Å对datagridview进行排序ÄÖ;

C# 使用瑞典语字母-Å对datagridview进行排序ÄÖ;,c#,datagridview,C#,Datagridview,当单元格中包含(瑞典语)字母Å、Ä和Ö时,我试图对datagridview进行正确排序 目前它将Å分类为A,Ö分类为O 它们应该出现在Z之后 我的CurrentThread.CurrentCulture=(“sv SE”)并且我使用默认排序 非常感谢 乔如下所示: 将Thread.CurrentThread.CurrentCulture设置为适当的区域性 如果表是dataset的一部分,则可以将dataset.Locale设置为 所需的CultureInfo。DatagridView提供的默认排

当单元格中包含(瑞典语)字母Å、Ä和Ö时,我试图对datagridview进行正确排序

目前它将Å分类为A,Ö分类为O

它们应该出现在Z之后

我的CurrentThread.CurrentCulture=(“sv SE”)并且我使用默认排序

非常感谢

如下所示:

将Thread.CurrentThread.CurrentCulture设置为适当的区域性

如果表是dataset的一部分,则可以将dataset.Locale设置为
所需的CultureInfo。

DatagridView提供的默认排序方法实现了这一点

public void test()
{
    DataGridView dataGridView = new DataGridView();
    dataGridView.Columns.Add("Col1", "Col1");
    dataGridView.Columns.Add("Col2", "Col2");
    dataGridView.Columns.Add("Col3", "Col3");

    dataGridView.Rows.Add(new object[] { 'Á', 2, 3 });
    dataGridView.Rows.Add(new object[] { 'Ä', 2, 3 });
    dataGridView.Rows.Add(new object[] { 'A', 2, 3 });
    dataGridView.Rows.Add(new object[] { 'Ö', 2, 3 });
    dataGridView.Rows.Add(new object[] { 'O', 2, 3 });
    dataGridView.Rows.Add(new object[] { 'Z', 2, 3 });

    dataGridView.Sort(dataGridView.Columns[0], ListSortDirection.Ascending);

    foreach(DataGridViewRow row in dataGridView.Rows)
    {
        foreach(DataGridViewColumn column in dataGridView.Columns)
        {
            Console.Write(row.Cells[column.Name].Value);
            Console.Write(" ");
        }

        Console.WriteLine();
    }
}
输出为:


A 35
O 2 1
Z 2 3
Á 2 3 
Ä 1 2 
Ö 5 9 


A 3 5 
O 2 1 
Z 2 3 
Á 2 3 
Ä 1 2 
Ö 5 9