2017-12-21 14 views
-1
private void gridView_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)                                                                                                                                                                 
    { 
     if (e.PropertyName == "code" && rdbCode.IsChecked == true) 
     { 
      e.Column.Header = "Acct Code"; 
     } 
     else if (e.PropertyName == "code" && rdbPart.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "um") 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "part" && rdbPart.IsChecked == true) 
     { 
      e.Column.Header = "Part ID"; 
     } 
     else if (e.PropertyName == "part" && rdbCode.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "check") 
     { 
      CheckBox chk = new CheckBox(); 
      e.Column.Header = chk; 
      chk.Content = "Update All";         
     } 
    } 

저는 열 헤더에 동적으로 생성 된 체크 박스가있는 Datagrid를 가지고 있습니다. 헤더 아래의 전체 열을 선택하거나 선택 취소 할 수 있도록이 체크 박스를 체크 된 이벤트와 체크되지 않은 이벤트에 연결하려면 어떻게해야합니까?동적으로 생성 된 확인란을 선택되거나 선택되지 않은 이벤트에 어떻게 연결합니까?

+0

OnChecked 이벤트 (또는 호출 될 수있는 모든 것)에 가입 한 다음 그리드를 반복하고 이에 따라 처리해야합니다. –

답변

0
private void gridView_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)                                                                                                                                                                
    { 
     if (e.PropertyName == "code" && rdbCode.IsChecked == true) 
     { 
      e.Column.Header = "Acct Code"; 
     } 
     else if (e.PropertyName == "code" && rdbPart.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "um") 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "part" && rdbPart.IsChecked == true) 
     { 
      e.Column.Header = "Part ID"; 
     } 
     else if (e.PropertyName == "part" && rdbCode.IsChecked == true) 
     { 
      e.Column.MaxWidth = 0; 
     } 

     if (e.PropertyName == "check") 
     { 
      CheckBox chk = new CheckBox(); 
      e.Column.Header = chk; 
      chk.Content = "Update All"; 
      chk.Checked += chk_Checked; 
      chk.Unchecked += chk_Unchecked; 
     } 
    } 

위대한 작품입니다.