0

各列にSortExpressionがあるDataGridがあります。並べ替え式を「ORDER BY LEN(myField)」と同等にしたいと考えています。

私が試してみました

SortExpression="LEN(myField)" 

ただし、これは有効な構文ではないため、例外がスローされます。何か案は?

4

5 に答える 5

3

すでにクエリで len を返しているが、その列を表示せずに、元の列の sortexpression としてのみ使用するのはどうですか?

あなたのアイデアがデフォルトでサポートされているとは思いません。

于 2008-09-18T11:36:07.757 に答える
3

SQL フレーバーに応じて、次のように動作する可能性があります。

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

そして、

SortExpression="FieldL"
于 2008-09-18T11:41:59.507 に答える
0

Linqを使用すると、次のようにクエリを記述できます。

query.OrderBy(column => column.MyField.Length);
于 2008-09-18T16:17:55.410 に答える
0

うーん。テストする時間がありました。SortExpression="Description.Length"を機能させることができました。これは1.1、2.0、または3.5ですか?

于 2008-09-18T16:21:39.007 に答える
0

このSortExpressionパラメーターは、ソートする列の名前を指定し、その後に順序を制御する「ASC」または「DESC」を指定します。

列のプロパティを変更してDataType、比較関数が文字列の長さを比較するユーザー定義型を指定できます。それは簡単な作業ではありません。

于 2008-09-18T11:44:23.977 に答える