0

複数の列による並べ替えをサポートする bindingSource を作成し、それを bindingNavigator にアタッチしたいと考えています。私はwinformsとcode-first EFを使用しています。

次の方法でクエリを作成しています

DbSet<Person> dset = DBContext.People;
string Searchstr ="Smith";
string sortby ="LastName, FirstName"
var qry = (IOrderedQueryable<Person>) dset.Where(
                            p => p.LastName.Contains(Searchstr) )
                            .OrderBy(sortby);

binding.datasource = dset.Local.ToBindingList();   // where binding has been dropped on form at design time.
binding.sort = sortby;   // this is the line that screws up the sort order

ここに記載されている拡張メソッドを使用して、複数列の order by を実現しています。

4

1 に答える 1

0

問題は、binding.sortby =sortby を設定したことであることが判明しました。巧妙な拡張 (質問のリンクを参照) のため、クエリで複数列の sortby を使用しても問題ありませんでしたが、複数の列を含む式に binding.sort を設定しても機能しません。

于 2013-11-25T19:34:11.647 に答える