ASP.NET Webフォームアプリケーションでgridviewがあり、2列に基づいて行を並べ替える方法を追加する必要がありました。私はDataViewを使ってそれを行う方法を見つけました。 だから私の元GridViewのから私はDataTableのを作成していますし、私が行いますASP.NETの非表示列でデータテーブルからデータビューを並べ替える
DataView dv = new DataView(dt);
dv.Sort = "Column_1, Column_2";
gridView.DataSource = dv;
gridView.DataBind();
今、私はデータビューを並べ替えることができ、その後私は、DataSourceとしてGridViewのにのDataViewを追加することができます。これは、元のGridViewにvisible = falseに設定されているいくつかのカラムがあることを除いて、素晴らしいことです。 この並べ替えを実行すると、非表示の列のデータが削除されます。 誰もこれまでに遭遇したことはありますか?これは、DataTableからDataViewを作成するとき、または並べ替えを行うときに発生しますか?非表示の列の値を保持するにはどうすればよいですか?
ありがとうございます!あなたはPage_Load
でIsPostBack
をチェックしていないよう
DataView dv = new DataView(dt);
dv.Sort = "Column_1, Column_2";
gridView.DataSource = dv;
gridView.DataBind();
これは動作します:あなたが列visible=false
を設定する必要があり、ソート前とソート後の
私はGridViewの列を最初に表示させてからソートに必要な他のすべての作業を行い、最後にGridViewの列を表示しないように戻すことで問題を解決しました。これは機能しますが、私はなぜこれが起こっているのかについてより興味がありました。私は関連する情報をオンラインで見つけることができませんでした。たぶん、より多くの経験を持つ人が光を放つだろう。ありがとう! – Cosmos24Magic