2011-12-16 2 views
1

동적으로 템플리트 화 된 gridview가 있습니다.필터 편집 후 GridView가 작동하지 않습니다.

테이블에 새 데이터를 편집, 삭제 및 삽입 할 수 있습니다.

또한 gridview를 필터링 할 수있는 또 다른 기능을 구현합니다.

현재 필터링을 잘 처리 할 수 ​​있습니다. 그러나 편집 모드로 들어가면 gridview는 어떻게 든 "filtered before state"로 재설정됩니다.

예 : Gridview orginally 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; 
} 

.

편집

당신은 당신의 RowEditing 방법이 종료되기 전에 다시 적용 필터를 시도?

+0

시도해 보았습니다. Thx :) – rofans91

+0

@ Rofans.NET - 내 편집을 참조하십시오,하지만 아이디어가 부족합니다 : ( –

+0

그게 좋은 생각인지 알 겠어 .. 그게다고 생각해 .. 고마워 :) – rofans91

관련 문제