2011-05-16 4 views
0

LINQ-To-SQL-Source에서 특정 값이 자동으로 공급되는 DataGrid가 있습니다. DataGrid의 헤더도 자동 생성됩니다. 데이터 격자 내에서 현재 선택된 항목의 셀 중 하나만 원할뿐입니다.자동 채워진 DataGrid에서 항목을 얻는 방법?

TestGrid.SelectedCells[0].Item{ Datum = {11.05.2011 00:00:00}, ID = 3, name = "db",Status = "Ready" }<Anonymous Type>

내가 어떻게 익명에서 두 번째 항목 (ID)를 선택하는 전혀 생각이 없다 :이 디버깅 할 경우

var a = TestGrid.SelectedCells[0].Item;

는 내가 필요로하는 모든 값을 포함하는 목록을 얻을 유형이 아니며 Google이 도움이되지 않습니다.

+0

p.s. 셀에 액세스 할 때 익명 개체를 다시 가져 오는 것이 이상하게 보입니다. 뭔가가 있다면, 행에 액세스하는 경우이를 가져야합니다. 검색어가 어떻게 보이는지 확인하는 것이 도움이됩니다. –

답변

1

값을 저장하고 DataGrid에 저장할 유형을 만드는 것이 가장 좋습니다. 디스플레이 용으로 만 사용하는 경우 익명 형식을 사용해도됩니다. 다른 용도로 사용해야하는 순간,별로 좋지 않습니다.

익명 형식을 계속 사용하려면 리플렉션을 사용해야합니다. 이것이 특히 C# 4.0+ 앱인 경우 dynamic을 사용하면 다소 쉽습니다.

+0

그 문제는 바로 다음과 같은 방식으로 데이터를 얻는다는 것입니다 :'var query = search (foo); TestGrid.ItemsSource = query;', 검색 결과는 위에 표시된 것과 같습니다. 편의성을 위해 익명 형식을 사용하지는 않지만 값/머리글을 하드 코딩/반복하지 않고 그리드에 데이터를 가져올 수있는 방법을 모르겠습니다. – fk2

+0

@ fk2 : WinForms 앱입니까? WPF? 편물? 열 생성은 WPF 및 WinForms AFAIK에서 완전히 자동으로 수행됩니다. –

+0

글쎄, 이제는 필요한 필드의 양과 문제가되는 속성을 가진 타입을 만들었습니다. 지옥 입력하지만 작동합니다. 당신의 도움을 주셔서 감사합니다! – fk2

관련 문제