2011-12-16 17 views
1

私は動的にテンプレート化されたグリッドビューを持っています。GridViewを編集した後にフィルタが機能しない

テーブルに新しいデータを編集、削除、挿入することができます。

また、グリッドビューのフィルタリングを可能にする別の機能も実装しています。

現在、私は非常にうまくフィルタリングを行うことができます。しかし、編集モードに入ると、グリッドビューは何らかの形で"フィルタ処理前の状態"にリセットされます。

例:Gridviewには、100個の行があります。 10行だけをフィルタリングした後。編集モードに入ると、100行が表示されます。

ここでは、私のグリッドビューが編集モードに入る間のスニペットです。

public void GridView_RowEditing(object sender, GridViewEditEventArgs e) 
    { 
     GridView.EditIndex = e.NewEditIndex; 
     ((TemplateField)GridView.Columns[1]).EditItemTemplate = null; 
     GridView.DataBind(); 
     Session["SelecetedRowIndex"] = e.NewEditIndex; 
    } 

すべてのヘルプは高く評価され...

+0

どのようにフィルタリングしていますか?あなたは 'SQLDataSource'の" Filter Expression "プロパティを使用していますか?それとも全く別のもの? – jadarnel27

+0

いいえ..テキストボックスとボタンを作成しました。ボタンイベントをクリックしてトリガーします。すべてがハードコードされています。 – rofans91

答えて

1

は、あなたのRowEditing方法でDataBind()への呼び出しを削除してください。これにより、以前に適用したフィルタリングを失って、あなたは、元のデータソースにグリッドを元に戻すしているここDataBind()を呼び出すことによって

public void GridView_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
    GridView.EditIndex = e.NewEditIndex; 
    ((TemplateField)GridView.Columns[1]).EditItemTemplate = null; 
    Session["SelecetedRowIndex"] = e.NewEditIndex; 
} 

EDIT

はあなたのRowEditing方法が終了する前に再適用し、あなたのフィルタを試したことがありますか?

+0

試してみて、うまくいきません。 Thx :) – rofans91

+0

@ Rofans.NET - 私の編集を参照してくださいが、私はアイデアが不足している:( –

+0

私はそれが素晴らしいアイデアであることを知っている..私はそれだと思う..ありがとう:) – rofans91

関連する問題