이 질문에 이전에 질문이 있지만 해결책을 찾지 못해서 죄송합니다.WCF DataService를 사용한 WPF Combobox/Listview/Listview 링크
표준 Northwind DataService를 사용하여 CustomerID를 표시하는 Combobox가 있으며,이 CustomerID와 관련된 Orders를 표시하는 Listview에 대한 성공적인 링크가 있습니다. 그러나 두 번째 Listview 주문 목록보기에서 SelectedItem 함께 연결된 Order_Details 표시하려면이 ListView 비어 있으며 선택한 순서 정보를 있어야합니다 오류입니다. 이 인구가 '적재'에서 발생하기를 원합니다.
두드러진 테이블 세부 정보는 Customers (CustomerID), Orders (CustomerID, OrderID), Order_Details (OrderID)입니다. 일부 버튼이 있습니다
<StackPanel>
<Label Content="Customer ID" />
<ComboBox Name="customerIDComboBox"
DisplayMemberPath="CustomerID"
ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True"
SelectedIndex="0" />
<ListView Name="ordersListView"
ItemsSource="{Binding Path=Orders}"
DisplayMemberPath="OrderID"
IsSynchronizedWithCurrentItem="True"
SelectedItem="0" >
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=OrderID, Mode=OneWay}"
Header="Order ID" Width="75"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=OrderDate, Mode=TwoWay}"
Header="Order Date" Width="150"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=Freight, Mode=TwoWay}"
Header="Freight Cost" Width="75"/>
</GridView>
</ListView.View>
</ListView>
<ListView Name="detailsListView"
ItemsSource="{Binding Path=Order_Details}"
DisplayMemberPath="OrderID"
IsSynchronizedWithCurrentItem="True"
SelectedItem="0" >
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Path=OrderID, Mode=OneWay}"
Header="Order ID" Width="75"/>
<GridViewColumn DisplayMemberBinding="{Binding Path=ProductID, Mode=TwoWay}"
Header="Product ID" Width="75"/>
</GridView>
</ListView.View>
</ListView>
</StackPanel>
하지만 내 문제와 관련이없는 :
여기 내 XAML 코드입니다.
여기에 내 뒤에 코드입니다 : 내가 아는 내 자신의 질문에 대답
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
context = new NorthwindEntities(new Uri(svcUri));
var customerQuery = from cust in context.Customers.Expand("Orders/Order_Details")
select cust;
trackedCustomers = new DataServiceCollection<Customer>(customerQuery,
TrackingMode.AutoChangeTracking,
"Customers",
OnPropertyChanged,
OnCollectionChanged);
this.LayoutRoot.DataContext = trackedCustomers;
}
catch (DataServiceQueryException ex)
{
MessageBox.Show("The query could not be completed:\n" + ex.ToString());
}
catch (InvalidOperationException ex)
{
MessageBox.Show("The following error occurred:\n" + ex.ToString());
}
}
그래서 ... 무엇이 문제입니까? – Noctis
문제는 콤보 상자 (Customers)와 첫 번째 ListView (Orders)가 완벽하게 채워지지만 ListView (Details)는 비어 있다는 것입니다. – maz
DB를 설치하지 마십시오. 질문에 대해 신경 쓰지 않아도되는 너비, 최소 높이, 여백 등 많은 문제가 있습니다. 코드를 읽는 것이 더 어렵습니다. Alas는'detailsDataGrid'에서'SelectedItem = "0"'을 누락시킨 것입니까? – Noctis