- - PR -
DataViewのRowFilterを保持するには
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-01-06 17:08
VS.NET(C#でコードビハインド)で作業しています。 データベースのレコードか多いので、抽出して表示したく、Textボックスより入力された検索キーをDataViewのRowFilterにセットして、DataGridにバインドしました。 で、この状態を保持して、ソートや編集・削除を行いたいのです。 しかし、それぞれPostBackされるので、全レコードが表示されてしまいます。(当然なのですが) これを保持するには、どうすればよいのでしょうか。 RowFilterをどっかにキャッシュして、バインドするたびにセットするとか、検索から生成されたDataViewのテーブルを別のテーブルに入れるとか、 妙なことを考えてみたのですが、どうにもならなくなったので、教えていただければと思います。 |
|
投稿日時: 2003-01-14 19:29
PageクラスのSessionプロパティに
Session["rowFilterValue"] = rowFilterValue; などとして保存しておき、 Load イベントの最後で再セットするという方法があると思います。 もしくは、SQL文を変更して最初からTextボックスに入力された検索キー に絞り込んだものをデータセットに入れておくのもありかと。 (こちらの方が軽そうで個人的には好きですが) |
|
投稿日時: 2003-01-17 10:36
回答ありがとうございました。
ちょっと時間がなかったので、隠しTextBoxを作って検索キーを保存するという、とても強引な方法をとって済ませてしまいました。 やはりSessionプロパティが出てくるわけですね。 使うのを避けてたのですが、保存としてはベストかもしれません。 SQL文をいじるのは…すみません、SQL勉強不足でして、この道も探ってみます。 |
|
投稿日時: 2003-01-17 11:25
>隠しTextBoxを作って
わざわざテキストボックスにしなくても、ビューステートに放り込んでおけば良いのでは? 参考 Control.ViewState |
1
