私は、フィールド、RequestedReleaseTimeすることにより、これらのエンティティをソートするだけでなく バインド後にこのシーケンスのエンティティがGridViewでソートされないのはなぜですか?
IQueryable<AccessRequest> filteredRows1;
// retrieve the last record of each request in its request history
filteredRows1 = from req in AccessRequestSet
group req by req.TaskReferenceId
into g
let topReq = g.OrderByDescending(r => r.UpdateDate).FirstOrDefault()
select topReq;
IQueryable<AccessRequest> filteredRows =
filteredRows1.Where(o => o.Status == "Requested");
LINQPad
で作品を作成し、このシーケンス。filteredRows.OrderBy(p => p.RequestedReleaseTime);
もう一度DateTimeでグループ化し、別のDateTimeで正常に並べ替えて、LINQPadで確認しました。私はその後、私のGridViewのデータソースへのバインドとしてこれを追加します。
gvRequests.DataSourceID = string.Empty;
gvRequests.DataSource = filteredRows;
gvRequests.DataBind();
私もAllowSorting =「true」を設定し、ソートするために、この行を追加しました。
gvRequests.Sort("RequestedReleaseTime", SortDirection.Ascending);
私はこの最後の行をDataBindの前後で無駄にしようとしました。このアプローチで何が問題になりますか? OnSortedイベントまたはOnSortingイベント内でこれを実行する必要がありますか?注:私はそれを試み、StackOverflowExceptionを取得しました。私はあなたに頼むべきであることを思い出させました。あらゆる方向への何百万人のおかげで、私は助けてくれます。
良い点は、文字列のように、彼らは不変です。私は実際に私のアプリケーションで変更されたクエリを使用します。上記のコードはLINQPadでテストしたものです。私は明らかな修正があることを期待していました。 – Blanthor
@Blanthor:あなたは(私の例では何がfilteredRowOrderedさ)注文したクエリにデータソースを設定している場合は、それが正しく注文されるべきです。 – StriplingWarrior