将字母数字过滤添加到C#数据集的最佳方法是什么?

时间:2014-02-27 14:45:23

标签: c# dataset

我们有一段代码将文本文件加载到数据表中,我们使用DataTable的select语句将过滤语句和排序语句交给它:

DataRow[] dataRowArray = table.Select(filterText, sortExp);

这是因为我们从文件中提取它而全部作为字符串加载。我们遇到的问题是,当用户对某个数字列进行排序时,它们将获得字符串排序:1,11,12 ...... 2,20,21 ... 3,30,31等等。也会影响过滤,因为像<= 10这样的东西只会返回1而不会返回2,3等

我要做的就是编写一个名为IComparable的自定义AlphaNumericString类型。现在当排序运行时,它使用compareTo方法,一切都很好。但是我不清楚如何让DataSet过滤器与之相配。

主要是我收到的错误如下:

Cannot perform '=' operation on DataAccess.Source.AlphaNumericString and System.String

我试过重载操作数,但它们似乎从未被使用过:

public static bool operator <=(AlphaNumericString alpha, object val)
{
    // Compare them
}

有人可以就如何覆盖过滤逻辑提出建议吗?

0 个答案:

没有答案