回答編集履歴
2
追記
test
CHANGED
@@ -71,3 +71,57 @@
|
|
71
71
|
|
72
72
|
|
73
73
|
![イメージ説明](dae61f4f65a0b0f3f69fd3570efd0634.jpeg)
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
**【追記】**
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
下のコメント欄の 2021/05/19 09:37 の質問者さんのコメントに対するレスです。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
> ORDER BY句を追加したselectcommandを、onsortingイベント内でhiddenfieldに代入し、pageloadでhiddenfieldからselectcommandを改めて読みこんでいる
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
なるほど、それは良い考えですね。それならページングも編集も問題なくできそうです。
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
HiddenField を使ったとのことですが、ViewState を使う方が ASP.NET Web Forms アプリとしては保守性場度を考えると良さそうです。
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
> 改めてSortedAscendingHeaderStyleが適用される方法を考えたいと思いますが、
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
ASP.NET の内部でどのようにしているのか分かりませんが、ソート対象にしたヘッダに動的に css を適用しているような感じです。
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
例えば、今回のような細工はせず、以下の記事のように普通にソートとそのための css を設定すると、
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
ASP.NET 4.0のGridViewの新しい並べ替えスタイル
|
110
|
+
|
111
|
+
[https://codezine.jp/article/detail/5012?p=2](https://codezine.jp/article/detail/5012?p=2)
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
ヘッダのリンクをクリックすると以下の画像のように css が適用されます。
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
![イメージ説明](07229c6c4a8afe1122a88fcb509ffd8a.jpeg)
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
今回のような細工をするとそれが設定されないので、自力で同様に css が設定されるようにコーディングする他なさそうな気がします。
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
思いつくのは、JavaScript か、サーバー側で行うなら RowCreated イベントのハンドラで、対象のヘッダを探して css を適用することです。
|
1
追記
test
CHANGED
@@ -58,8 +58,16 @@
|
|
58
58
|
|
59
59
|
|
60
60
|
|
61
|
-
実行結果は以下のようになります。ページング、編集は問題なく可能です。ただし、GridView のヘッダのリンクボタンをクリックすると (3) の結果
|
61
|
+
実行結果は以下のようになります。ページング、編集は問題なく可能です。ただし、GridView のヘッダのリンクボタンをクリックすると (3) の結果になってしまいますが。
|
62
62
|
|
63
63
|
|
64
64
|
|
65
65
|
![イメージ説明](20c842c981b49e96a1d82678adcf5a3e.jpeg)
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
例えば、上の画像でヘッダの Info1 をクリックすると以下のようになります。もう一度クリックすると昇順降順が入れ替わります。
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
![イメージ説明](dae61f4f65a0b0f3f69fd3570efd0634.jpeg)
|