当单元格包含(瑞典)字母Å,Ä和Ö时,我正在尝试正确排序datagridview。
目前它将Å视为A和Ö作为O.
它们应出现在Z。
之后My CurrentThread.CurrentCulture =(“sv-SE”),我正在使用默认排序。
非常感谢
乔
答案 0 :(得分:0)
阅读here:
将Thread.CurrentThread.CurrentCulture设置为适当的文化。
如果您的表是数据集的一部分,那么您可以将DataSet.Locale设置为a 期待CultureInfo。
答案 1 :(得分:0)
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 3 5
O 2 1
Z 2 3
Á 2 3
Ä 1 2
Ö 5 9