2011-10-08 3 views

답변

1

예, 당신은 GridView 컨트롤의 RowDataBound 이벤트에 행에 제어를 발견하고 코드 숨김에서 필요한 이벤트를 구독 할 수 있습니다

감사합니다. 이들 각 포스트 백에 다시 작성하는 경우에만

void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 

    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     // Display the company name in italics. 
     ((Checkbox)e.Row.FindControl("my_checkbox_id")).CheckedChanged += (sender, args) => { 
      // do something in handler 
     } 

    } 

    } 
1

동적 제어 지원 이벤트. 그래서 유일한 해결책은 각 포스트 백에서 연속적으로 데이터를 gridview에 바인딩하는 것입니다. ! IsPostback 조건으로 Gridview 바인딩 코드를 래핑 한 경우이를 제거하고 그 후에 확인하십시오.

그런데 gridview의 데이터 소스 데이터가 변경되면 각 동적 컨트롤에 새 UniqueID 값이 지정되고 해당 컨트롤 이벤트가 처리되지 않는다는 점에 유의하십시오.

P. 어쩌면 더 나은 접근 방식은 다이나믹하게 컨트롤을 추가하지 않고 DataItem의 데이터에 따라 Visible 속성 값을 설정하는 것입니다. 이 경우 ItemTemplate에 서버 컨트롤이 거의없고 그 중 하나만 표시 할 수 있습니다.

+0

Yurly에게 감사의 말을 전합니다. 이것은 내가 무엇을해야하는지에 관해 더 생각하게했다. –

관련 문제