- PR -

GridView.Sortに関する質問

1
投稿者投稿内容
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2006-06-28 00:01
Visual Web Developer .NET 2005(VB.NET)を使って開発をしています。

GridViewにて、フィールドヘッダを選択したときに
そのフィールドでソートを掛ける処理を実装したいと思っております。

そこで、GridView.Sortingイベント内に
GridView.Sort(SortExpression, SortDirection)メソッドをいれて実行したところ、
OverFlowExceptionがでてしまいます。

もちろん、GridView.AllowSorting=Trueに設定はしてあります。

どうも、デバッグしてみると、GridView.Sortメソッドを何度も呼び出しているようなのですが、対処法を教えて頂けないでしょうか?
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-06-28 00:12
引用:

GridView.Sort メソッド のドキュメントより。
…また、このメソッドを呼び出すと、Sorted イベントと Sorting イベントも発生します。


だからですね。

_________________
囚人のジレンマな日々
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2006-06-28 19:16
この問題は避けれないということでしょうか?

その場合、どのようにSort処理を実装したらよいのでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-28 19:32
BB さん、こんにちは。

引用:

BBさんの書き込み (2006-06-28 00:01) より:

そこで、GridView.Sortingイベント内に


うーん。(;~_~)

引用:

BBさんの書き込み (2006-06-28 19:16) より:

この問題は避けれないということでしょうか?
その場合、どのようにSort処理を実装したらよいのでしょうか?


再度、Sorting イベントが呼び出されても、Sort メソッドが実行されないように、ガード句を設けるとか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2006-06-28 21:38
じゃんぬねっとさん、こんばんは。

僕はSorting イベントを使用することしかGridViewの列をクリックされたときに
ソートをする方法がわかりませんでした。

GridViewの列をクリックされたときにソートを行うにはどうしたらよいのでしょうか?
masakazu
会議室デビュー日: 2006/02/16
投稿数: 9
投稿日時: 2006-06-28 21:43
引用:
GridViewにて、フィールドヘッダを選択したときに
そのフィールドでソートを掛ける処理を実装したいと思っております。



AllowSorting=Trueの設定だけで実現しませんか?

なにかソート条件を変更するなら、GridViewSortEventArgsのSortExpressionとかSortDirectionを書き換えましょう。

〜ingのイベントは
 これから〜するけどOK?
 条件とかそのまんまでいい?
みたいなイベントだと私は認識してます。

#逆に〜edのイベントは〜しちゃったけど、
# 同時にする事無い?
#みたいなイベントと思ってます。
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2006-06-28 22:02
masakazuさん こんばんは
>AllowSorting=Trueの設定だけで実現しませんか?
実現しませんでした。

この状態で行ヘッダをクリックすると、
 Sortingメソッドがありません。
というエラーがでてしまいます。
masakazu
会議室デビュー日: 2006/02/16
投稿数: 9
投稿日時: 2006-06-29 00:09
引用:
この状態で行ヘッダをクリックすると、
 Sortingメソッドがありません。
というエラーがでてしまいます。



大体分かりました。
あまり良いサンプルでは無いかもしれませんが、こんな感じでどうでしょう?
http://www.spoon.mydns.jp/net/archive/20060628/code_2.xml

ただ、私個人はDataSourceにはDataSourceContorolを設定したいところです。
http://www.spoon.mydns.jp/net/archive/20060628/code_1.xml
これはコードを1行も書かずに同等(逆順をサポートしてる分さらに高機能)の動作を行います。デザイナ上で設定するだけで実現します。

#VBで良かったかしら?
1

スキルアップ/キャリアアップ(JOB@IT)