2009-04-06 3 views
0
protected void rgStateTax_PreRender(object sender, EventArgs e) 
{ 
    if(rgStateTax.MasterTableView.IsItemInserted) 
    { 
     foreach(GridItem item in rgStateTax.Items) 
     { 
      item.Visible = false; 
     } 
    } 

    if(rgStateTax.EditItems.Count > 0) 
    { 
     foreach(GridDataItem item in rgStateTax.Items) 
     { 
      if(item != rgStateTax.EditItems[0]) 
      { 
       item.Visible = false; 
      } 
     } 
    } 
} 

여기에서 rgStateTax는 Rad Grid 컨트롤입니다. 해당 항목을 보이지 않는 것으로 표시 할만한 이유가 있습니까? PreRender는 페이지가 실제 화면에 표시되기 전에 발생하는 이벤트입니다.사전 렌더링 이벤트 asp.net

답변

5

PreRender는 지정된 컨트롤/페이지에 대한 HTML이 생성되기 직전에 발생하는 이벤트입니다 (나중에 브라우저로 전송 됨). 그래서 item.Visible = false로 설정하면 HTML로 렌더링되지 않습니다 (그러나 ViewState가됩니다).

이 경우 사용자가 최종 사용자의주의를 산만하게 생각하는 항목을 편집/삽입 할 때 코드가 RadGrid의 모든 행을 숨기는 것처럼 보입니다.

+0

나는 mastertableview가 상단 테이블을 의미한다는 것을 알았습니다. 즉, rad grid의 첫 번째 페이지의 상단 행 내용을 의미합니다. – peter

+0

rad grid의 첫 번째 페이지에서 격자 또는 내용의 맨 위 행을 의미합니다. 그 점에 관해 말해 줄 수 있습니까? – peter

+0

여기 rad 격자의 사전 렌더링에서 무슨 일이 일어 났는지 – peter