ASP.NET 動的データの DisplayColumn 属性により並べ替えの問題が発生する
-
06-09-2019 - |
質問
Northwind データベースの LINQ to SQL DataContext で ASP.NET 動的データを使用する...
DisplayColumn 属性を LINQ to SQL の 1 つに追加するとき entity
クラスを作成し、部分クラスのカスタム コードからプロパティを参照すると、生成されたクラス内のその列で並べ替えることができなくなります。 グリッドビュー. 。カスタム以外のプロパティを sortColumn
.
なぜこうなった?
コード例:
[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
public string LastNameFirstName
{
get { return LastName + ", " + FirstName; }
}
}
アーロン
編集:の sortColumn
このエンティティが外部キーとして使用されるときに ( ドロップダウンリスト)、でソートされている場合ではありません。 グリッドビュー.
解決 2
このデザインによるものであってもよい...
「sortColumn」は、それがのGridViewでソートされていないことを(DropDownListコントロールに)外部キーとして使用され、このエンティティを分類するために使用される列を指定します。
他のヒント
プロパティがSQLにDBとLINQではないので、それが正しいことはあなたのエンティティを取得するためにDBにT-SQLのquertを構築しようとします。これらは、その名前の欄ではありませんので、しかし、失敗します。
あなたはうまくいくかもしれないが、それは唯一のFKの関係で参照されるエンティティでフィルタしまうのToString()メソッドをオーバーライドしてみてください可能性があります。
追加してみてください [ScaffoldColumn(true)] - 動的データを騙して並べ替えを可能にする可能性があります
[DisplayColumn("LastNameFirstName", "LastName", false)]
public partial class Employee
{
[ScaffoldColumn(true)]
public string LastNameFirstName
{
get { return LastName + ", " + FirstName; }
}
}
所属していません StackOverflow