2011-12-16 128 views
1

我有一個動態模板網格視圖。編輯GridView不工作後過濾器

它允許編輯,刪除和插入新數據到表格中。

我還實現了另一個功能,將允許過濾gridview。

目前我可以很好地完成過濾。但是,當進入編輯模式時,gridview會以某種方式重置爲「過濾之前的狀態」。

例如:Gridview最初有100行。過濾後只有10行。進入編輯模式比它將再次顯示100行。

這是我的gridview進入編輯模式時的代碼片段。

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 2011-12-16 03:19:50

+0

不。我創建了一個文本框和一個按鈕。按鈕點擊觸發事件。一切都硬編碼.. – rofans91 2011-12-16 03:30:12

回答

1

RowEditing方法刪除調用DataBind()

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

通過調用DataBind()這裏你恢復電網到其原始數據源,從而失去你以前應用的過濾。

編輯

您是否嘗試過重新申請你的過濾器的方法RowEditing結束之前?