0
현재 다음 코드를 사용하여 사용자 컬렉션을 만들고 데이터 격자에 바인딩하고 있습니다. 좋아.Linq 2 테이블에서 자세한 내용을 가져오고 ObservableCollection에 넣기위한 쿼리 C#
private ObservableCollection<User> users;
using (CarStudioDBEntities dt = new CarStudioDBEntities())
{
var catList = (from user in dt.Users
select user).ToList();
users = new ObservableCollection<User>(catList);
this.Dispatcher.Invoke(() =>
{
lstUsers.ItemsSource = users;
});
}
XAML
<DataGrid x:Name="lstUsers" Background="White" Margin="0" AutoGenerateColumns="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTemplateColumn Width="80">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Name="viewUserDetailsBtn" Content="View" Click="viewUserDetailsBtn_Click" Background="#FF3F5164" BorderBrush="Black" FontSize="10" Height="24" Padding="0" Margin="0" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Username" Width="*" Binding="{Binding Username}"/>
<DataGridTextColumn Header="Name" Width="*" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Role" Width="*" Binding="{Binding Role}"/>
<DataGridTextColumn Header="Contact Number" Width="*" Binding="{Binding ContactNo}" />
<DataGridTextColumn Header="Status" Width="*" Binding="{Binding Status}" />
</DataGrid.Columns>
</DataGrid>
문제는 ObservableCollection에 다른 부품을 만들 필요가있다; 은 카테고리 테이블에 대한 외래 키 참조를 포함합니다. 이제 categoryId를 통해 카테고리 테이블에있는 카테고리 이름을 부품 번호 으로 가져와 Name To Data Grid 카테고리의 세부 정보를 바인딩해야합니다. 이 및에 대한 적절한 linq 쿼리를 작성할 수 없습니다. 짧게 내가 ObservableCollection의 세부 사항 및 카테고리 함께 필요합니다.
바인딩에 대한 새로운 DataTable을 사용할 수 있습니다. 이것은 원래 쿼리에 대한 컬렉션 업데이트를 제공하지 않습니다. – Georg