많은 주제를 살펴 보았지만 문제점에 대한 해결책을 찾지 못했습니다. 찾은 것을 다시 사용할 수 없습니다.DataGridComboBoxColumn을 WPF의 DataSet에 바인딩
2 개의 테이블에 대한 SQL 쿼리로 채워진 DataSet을 만들었습니다. 내 데이터 집합이 올로 (내가 그것을 확인) 가득,
SELECT table1.reference, table2.reference, table1.category...
FROM table1, table2
WHERE table1.reference = table2.reference
...
dataAdapter.Fill(dataSetGrid, "table1");
내 DataContext를가 올바른지 : 그들은 모두 공통 필드가 힘든 가지고 있지만 외부 키 (묻지 않는다, 나는 그것을 바꿀 수 없습니다) 값은 내가하여 데이터 그리드의 ItemsSource을 설정
this.grid1.ItemsSource = dataSetGrid.Tables[0].DefaultView;
그리고 나는 많은 것들을 시도했지만 내가 할 수있는 최선 내 콤보 상자에 있지만, 각 행의 1 개 문자로 첫 번째 요소입니다.
XAML 코드에서 내 시험의하나 :
<DataGridComboBoxColumn Header="Caméras"
x:Name="Cameras"
ItemsSource="{Binding article}"
SelectedValuePath="reference"
DisplayMemberPath="reference"
Width="*"/>
이 사람은 나에게 빈 콤보 상자 제공하지만, 내가 DataGridTextColumn에 아무 문제도 없어.
클래스의 ObservableCollection에서 작동하지만 지금은 데이터 세트를 사용할 수 있기를 바랍니다 (성능이 향상되었습니다).
도움을 주셔서 감사 드리며 미안합니다.
데이터 액세스 코드를 사용하여'DataTable'을 그대로두고 UI에 표시하기위한 데이터가있는 사용자 정의 클래스 인스턴스를 채우면 WPF 개발자로서의 삶이 훨씬 쉬워집니다. – Sheridan
@Sheridan 그래, 그게 내가 처음 했어, 완벽하게 작동하지만 500 개가 넘는 레코드를 가질 수 있기 때문에 나는 collection.Add (new Class (param))을 피하기 때문에 DataSet을 사용하는 것이 더 좋을 것이라고 생각했다. 각각. – Adrana
내 응용 프로그램은 수만 개의 레코드를 처리하고 데이터를 적절한 클래스로 패키징하는 작업은 거의 시간이 걸리지 않습니다. – Sheridan