2013-06-14 2 views
0

저는 WPF를 처음 사용합니다. DataGrid에 행과 열의 수가 있습니다. 각 열에 대해 각 행의 정보를 추출해야합니다. 내가 어떻게 할 수 있니? 선택한 행이 아닌 모든 열의 모든 행에 대한 정보가 필요하다는 점에 유의하십시오.wpf의 DataGrid에서 정보 추출

나는이 라인을 따라 동적으로 데이터 그리드를 채워 :

public class person 
{ 
    public string name { get; set; } 
    public string lastName { get; set; } 
} 

List<person> persons = new List<person>(); 
persons.Add(new person() { name = "john", lastName = "brown" }); 
persons.Add(new person() { name = "polly", lastName = "parker" }); 
persons.Add(new person() { name = "ann", lastName = "parker" }); 
persons.Add(new person() { name = "rebecca", lastName = "moosavian" }); 

dataGrid1.ItemsSource = persons; 

을 그리고 지금은 편집 후이 데이터 그리드에서 이름이 lastName 속성을 검색해야합니다.

+0

'DataGrid'가 바운드되는 기본 데이터 소스에서 데이터를 가져옵니다. 'DataGrid'에 무엇을 표시하고 있습니까? 데이터를 저장하기 위해 생성 한 클래스의'List'? –

+0

난 당신이 스레드에서 질문에 대한 답을 찾을 수 있다고 생각 [어떻게 WPF 툴킷에서 Datagrid의 행을 통해 루프] [1] [1] : http://stackoverflow.com/questions/ 1934529/how-to-loop-over-the-wpf-toolkit-dataagrid –

+0

이 코드는 이전에 테스트했지만 어떻게 각 행의 이름과성에 도달 할 수 있습니까?이 코드는 name과 같은 텍스트가 아닌 행을 반환합니다. and lastName in row – sandra

답변

1

데이터 갓을 어떻게 채웠습니까?

데이터 그리드에 바인딩 된 데이터 원본이 있어야합니다 (일반적으로 CLR 개체 나 다른 형식의 컬렉션의 ObservableCollection입니다). 데이터가 있으므로 추출 할 필요가 없습니다.

결론은 데이터 그리드에 데이터 소스가 있어야하며 데이터 그리드에 표시되는 데이터가 있으며 추출 할 필요가 없다는 것입니다.

+0

예 데이터 소스가 있지만 편집하고 데이터 그리드를 편집하면이 데이터 소스가 편집에 따라 변경됩니까? – sandra

+1

예, ObservableCollection을 사용하고 INotifyPropertyChanged 나 더 나은 MVC 프레임 워크 중 하나를 사용하여 모든 종류의 ViewModel 클래스가 상속 받고이 기본 클래스가 변경 알림을 구현하는 기본 클래스를 일반적으로 사용하는 변경 알림을 구현해야합니다. 대부분의 사람들은 Caliburn Micro 및 MVVM Light를 사용하고 있습니다. –