排序DataTable时如何区分大小写?

时间:2015-09-01 01:22:51

标签: c# sorting datatable ado.net

我注意到,当使用数据视图(在C#中)按特定列对数据表中的行进行排序时,排序方法似乎不区分大写和小写字符串。有没有办法按字符串排列数据表的方式,根据字符串的不同,字符串被视为不同?

        DataTable Dt18 = new DataTable();
        Dt18.Columns.Add("Dosage", typeof(int));
        Dt18.Columns.Add("Drug", typeof(string));
        Dt18.Rows.Add(0, "Indocin");
        Dt18.Rows.Add(1, "indocin");
        Dt18.Rows.Add(17, "Indocin");
        Dt18.Rows.Add(2, "Hydralazine");
        Dt18.Rows.Add(3, "Combivent");
        DataView view = new DataView(Dt18);
        view.Sort = "Drug asc";
        DataTable dtSorted = view.ToTable();

按标题为" Drug"," Indocin"被视为和#34; indocin"

相同

2 个答案:

答案 0 :(得分:1)

您可以设置Dt18的 CaseSensitive 属性,如下所示:

DataTable Dt18 = new DataTable();
Dt18.Columns.Add("Dosage", typeof(int));
Dt18.Columns.Add("Drug", typeof(string));
Dt18.Rows.Add(0, "Indocin");
Dt18.Rows.Add(1, "indocin");
Dt18.Rows.Add(17, "Indocin");
Dt18.Rows.Add(2, "Hydralazine");
Dt18.Rows.Add(3, "Combivent");
Dt18.CaseSensitive = true;
DataView view = new DataView(Dt18);
view.Sort = "Drug asc";
DataTable dtSorted = view.ToTable();

答案 1 :(得分:0)

设置view.CaseSensitive = false; 如果比较区分大小写,则为true,否则为false。