黑马程序员技术交流社区

标题: 求教一个DataGrid里DataGridComboBoxColumn的绑定问题 [打印本页]

作者: superjojo    时间: 2013-4-9 10:54
标题: 求教一个DataGrid里DataGridComboBoxColumn的绑定问题
按照杨老师的Ado.Net项目开发教程(第五季)里第二课,2员工管理、照片的保存和加载、摄像头的操作,的代码,WPF,
在EmployeeListWindow.xaml.cs里
private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            columnDepartmentId.ItemsSource = new DepartmentDAL().ListAll();
            columnEducationId.ItemsSource = new IdNameDAL().GetByCategory("学历");
            datagrid.ItemsSource = new EmployeeDAL().ListAll();
        }

这里显然,columnEducationId通过数据绑定在IdNameDAL().GetByCategory("学历")里取得的是学历的ID和Name,而 datagrid通过EmployeeDAL().ListAll()取得的只是每个员工的  学历ID。
然后,在前台EmployeeListWindow.xaml里,
<DataGridComboBoxColumn Header="学历" Width="80" SelectedValueBinding="{Binding EducationId}" SelectedValuePath="Id"
                                        DisplayMemberPath="Name" x:Name="columnEducationId"></DataGridComboBoxColumn>

这里我弄不明白,SelectedValueBinding="{Binding EducationId}",这一句里
1、columnEducationId的ItemsSource绑定的是IdNameDAL().GetByCategory("学历"),返回的是ID和Name,这个{Binding EducationId}里的EducationId是从哪里来的?我知道EmployeeDAL().ListAll()能返回EducationId,可这和columnEducationId没有关系啊??
2、SelectedValueBinding这个到底怎么理解?什么时候用?SelectedItemBinding和SelectedValueBinding有什么区别?
3、在这段代码里,DisplayMemberPath指显示的值,SelectedValuePath指的是该项实际的属性值,是吧?那和SelectedValueBinding是什么关系呢?

作者: 郑丹丹1990    时间: 2013-4-9 12:24
同样的疑问
作者: superjojo    时间: 2013-4-10 00:45
轻轻顶一下
作者: 郑丹丹1990    时间: 2013-4-10 08:02
楼主还有版主,丢个答案吧!{:soso_e121:}

作者: 卖男孩的小火柴    时间: 2013-6-14 11:25
楼主问题解决了吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2