2010-07-09 4 views
0

어디서 볼지 잘 모르겠습니다 ... 모델의 일부를 제공하는 기본 DataRow가있는 viewmodel이 있습니다. 이 정보를 단일 레코드로 세로 레이아웃으로 표시하려고합니다. 사용자가 한 레코드 만보고도 DataTable에서 행을 추가/삭제/이름 바꾸기를 원할 수 있기 때문에 DataGrid를 사용하려고했습니다. 나는 이것을 달성하는 방법을 확실히 모르겠다. 내가 기대하고있는 무슨의 예는 다음과 같습니다 : 테이블이 될 것입니다 내 UI에서 예상WPF DataRow의 세로 표현

소스 데이터 테이블
ID, 이름, 값
1, 하나, 1
2, 두, 2

다음과 같음


ID | 1


이름 | 하나


값 | 1


답변

1

당신은 필드의 목록으로 DataRow를 노출 할 수 있습니다

public class DataRowField 
{ 
    public int Index { get; set; } 
    public string Name { get; set; } 
    public object Value { get; set; } 
} 


public IEnumerable<DataRowField> Fields 
{ 
    get 
    { 
     return _dataRow.Table.Columns.Cast<DataColumn>() 
       .Select((column, i) => new DataRowField 
       { 
        Index = i, 
        Name = column.ColumnName, 
        Value = _dataRow[column] 
       }); 
    } 
} 

그럼 그냥 Fields 특성에 데이터 그리드를 바인드해야