回答編集履歴
2
追記
answer
CHANGED
@@ -34,4 +34,31 @@
|
|
34
34
|
|
35
35
|
例えば、上の画像でヘッダの Info1 をクリックすると以下のようになります。もう一度クリックすると昇順降順が入れ替わります。
|
36
36
|
|
37
|
-

|
37
|
+

|
38
|
+
|
39
|
+
**【追記】**
|
40
|
+
|
41
|
+
下のコメント欄の 2021/05/19 09:37 の質問者さんのコメントに対するレスです。
|
42
|
+
|
43
|
+
> ORDER BY句を追加したselectcommandを、onsortingイベント内でhiddenfieldに代入し、pageloadでhiddenfieldからselectcommandを改めて読みこんでいる
|
44
|
+
|
45
|
+
なるほど、それは良い考えですね。それならページングも編集も問題なくできそうです。
|
46
|
+
|
47
|
+
HiddenField を使ったとのことですが、ViewState を使う方が ASP.NET Web Forms アプリとしては保守性場度を考えると良さそうです。
|
48
|
+
|
49
|
+
> 改めてSortedAscendingHeaderStyleが適用される方法を考えたいと思いますが、
|
50
|
+
|
51
|
+
ASP.NET の内部でどのようにしているのか分かりませんが、ソート対象にしたヘッダに動的に css を適用しているような感じです。
|
52
|
+
|
53
|
+
例えば、今回のような細工はせず、以下の記事のように普通にソートとそのための css を設定すると、
|
54
|
+
|
55
|
+
ASP.NET 4.0のGridViewの新しい並べ替えスタイル
|
56
|
+
[https://codezine.jp/article/detail/5012?p=2](https://codezine.jp/article/detail/5012?p=2)
|
57
|
+
|
58
|
+
ヘッダのリンクをクリックすると以下の画像のように css が適用されます。
|
59
|
+
|
60
|
+

|
61
|
+
|
62
|
+
今回のような細工をするとそれが設定されないので、自力で同様に css が設定されるようにコーディングする他なさそうな気がします。
|
63
|
+
|
64
|
+
思いつくのは、JavaScript か、サーバー側で行うなら RowCreated イベントのハンドラで、対象のヘッダを探して css を適用することです。
|
1
追記
answer
CHANGED
@@ -28,6 +28,10 @@
|
|
28
28
|
|
29
29
|

|
30
30
|
|
31
|
-
実行結果は以下のようになります。ページング、編集は問題なく可能です。ただし、GridView のヘッダのリンクボタンをクリックすると (3) の結果
|
31
|
+
実行結果は以下のようになります。ページング、編集は問題なく可能です。ただし、GridView のヘッダのリンクボタンをクリックすると (3) の結果になってしまいますが。
|
32
32
|
|
33
|
-

|
33
|
+

|
34
|
+
|
35
|
+
例えば、上の画像でヘッダの Info1 をクリックすると以下のようになります。もう一度クリックすると昇順降順が入れ替わります。
|
36
|
+
|
37
|
+

|