如何按字段长度对ASP.NET DataGrid进行排序?

时间:2008-09-18 11:29:50

标签: asp.net datagrid

我有一个DataGrid,其中每列都有一个SortExpression。我希望sort表达式相当于“ORDER BY LEN(myField)”。

我试过了

SortExpression="LEN(myField)" 

但是这会引发异常,因为它不是有效的语法。有什么想法吗?

5 个答案:

答案 0 :(得分:3)

如果已经通过查询返回len,但是没有显示该列,只将它用作原始列的sortexpression?

我认为默认情况下不支持您的想法。

答案 1 :(得分:3)

根据您的SQL风格,以下内容可行:

SELECT
 ColumnA as FieldA
 , ColumnB as FieldB
 , LEN(ColumnA) as FieldL
FROM TableName
ORDER BY L

然后再做

SortExpression="FieldL"

答案 2 :(得分:0)

SortExpression参数指定要排序的列的名称,后跟“ASC”或“DESC”来控制订单。

您可以更改列的DataType属性以指定用户定义的类型,其比较器函数比较字符串长度。这不是一项微不足道的任务。

答案 3 :(得分:0)

使用Linq,您可以编写如下查询:

query.OrderBy(column => column.MyField.Length);

答案 4 :(得分:0)

嗯。有一段时间来测试。我能够 SortExpression =“Description.Length”才能工作。这是1.1,2.0还是3.5?

相关问题