2011-03-07 7 views
5

안녕하세요, DataGrid view.i에 확인란을 추가하려면 테스트 코드를 작성했지만 실패합니다. 내가 뭘 하려는지 DataSet에 CheckBox를 추가합니다. select all과 select none 옵션을 사용하여 아이템을 추가합니다. Datagrid에서 확인란을 추가하는 방법 WPF C#

내가 어떻게 도와야하는지 모르겠다. 나는 도움을 필요로한다. 나는 우리가 어떤 체크 박스를 체크했는지 체크하지 않았을 때 어떻게 동적으로 추가하는지 혼란 스럽다.

나는 현재 코드

public partial class MainWindow : Window 
    { 
     List<checkedBoxIte> item = new List<checkedBoxIte>(); 
     public MainWindow() 
     { 
      InitializeComponent(); 
      for (int i = 0; i < 5; i++) 
      { 
       checkedBoxIte ite = new checkedBoxIte(); 
       ite.sr = i.ToString(); 
       ite.ch = new CheckBox(); 
       item.Add(ite); 
      } 
      dataGrid1.ItemsSource = item 
     } 
    } 
    public class checkedBoxIte 
    { 
     public string sr {get;set;} 
     public CheckBox ch { get; set; } 
    } 

을 가지고 있지만 내가 그것을 다음과 같이 체크 박스를 추가하는 어리석은 일이 알고 있지만 클래스에 포함 된 위의 그것이 더있을 것입니다하지만 모든 문자열이 될 것입니다에 두 속성 나중에 단지 를 시도했다

답변

15

WPF는 checkedBoxIte 항목을 처리하는 방법을 알지 못합니다.

public class checkedBoxIte 
{ 
    public string MyString {get;set;} 
    public bool MyBool { get; set; } 
} 

을 그리고 이런 방식으로 DataGrid의 열을 설정 :

for (int i = 0; i < 5; i++) 
{ 
    checkedBoxIte ite = new checkedBoxIte(); 
    ite.MyString = i.ToString(); 
    item.Add(ite); 
} 
dataGrid1.ItemsSource = item; 
+0

:

<DataGrid AutoGenerateColumns="False"> <DataGrid.Columns> <DataGridTextColumn Header="MyString" Binding="{Binding MyString}" /> <DataGridCheckBoxColumn Header="MyBool" Binding="{Binding MyBool}" /> </DataGrid.Columns> </DataGrid> 

는 이제 ItemsSource를 설정할 수 있습니다 당신이 다음과 같이 클래스를 변경하는 것이 좋습니다 그것의 작업은 완벽하게 ok입니다. 그러나 우선 문제가 생겼습니다. 4 개의 열이 평균 반복을 나타냅니다 .2. 어떻게 이벤트를 발생 시키거나 어떤 체크 박스를 체크 할 수 있습니까? –

+0

글쎄, 나는 네 개의 기둥이있는 것이 정상이라고 생각하지 않는다. 'AutoGenerateColumns'를'False'로 설정 했습니까? –

+0

사실이었습니다. 지금 작업하고 있습니다. 그리고 두 번째 부분에 대해 검사 된 행을 감지 할 수 있습니까? –

관련 문제