1、根据员工表结构创建Model类。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HRM.Model.BaseData { public class Employee { public Guid ID { set; get; } public String ECode { set; get; } public String EName { set; get; } public String SexID { set; get; } public DateTime BirthDay { set; get; } public String SFZHM { set; get; } public String NationID { set; get; } public String Native { set; get; } public String NativeAddress { set; get; } public String HomeAddress { set; get; } public String MarryStatusID { set; get; } public String ZZMMID { set; get; } public String EducationID { set; get; } public String School { set; get; } public String Major { set; get; } public String TelePhone { set; get; } public String EMail { set; get; } public String EmergencyContract { set; get; } public DateTime InDate { set; get; } public DateTime ContractStartDate { set; get; } public DateTime ContractEndDate { set; get; } public Int32 BaseSalary { set; get; } public String DeptID { set; get; } public String Remark { set; get; } } }
2、在XMAL中绑定数据列。
对于DataGridComboBoxColumn类型列的绑定操作如下:
1)、指定列名x:Name="colDeptID",
2)、设置该字段在当前Model(Employee)的属性,SelectedValueBinding="{Binding DeptID}"。
3)、设置该字段指定SelectedValue映射的属性,SelectedValuePath="ID";
设置改列显示给用户看的属性,DisplayMemberPath="DeptName"。
4)、在后台代码中设置该列的数据源。
colDeptID.ItemsSource = new DepartmentDAL().GetAllDept();
<DataGrid Name="dgdEmploeeList" AutoGenerateColumns="False" IsReadOnly="True"> <DataGrid.Columns> <DataGridTextColumn Header="员工编码" Binding="{Binding ECode}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="员工名称" Binding="{Binding EName}" Width="100"></DataGridTextColumn> <DataGridComboBoxColumn Header="性别" x:Name="columnSexCode" Width="70" SelectedValueBinding="{Binding SexID}" SelectedValuePath="ID" DisplayMemberPath="Name"></DataGridComboBoxColumn> <DataGridTextColumn Header="出生日期" Binding="{Binding BirthDay}" Width="80"></DataGridTextColumn> <DataGridComboBoxColumn Header="民族" Width="80" SelectedValueBinding="{Binding NationID}" SelectedValuePath="ID" DisplayMemberPath="Name" x:Name="columnNationID" ></DataGridComboBoxColumn> <DataGridTextColumn Header="身份证号码" Binding="{Binding SFZHM}" Width="120"></DataGridTextColumn> <DataGridTextColumn Header="国籍" Binding="{Binding Native}" Width="100"></DataGridTextColumn> <DataGridTextColumn Header="籍贯" Binding="{Binding NativeAddress}" Width="120"></DataGridTextColumn> <DataGridTextColumn Header="家庭住址" Binding="{Binding HomeAddress}" Width="80"></DataGridTextColumn> <DataGridComboBoxColumn Header="婚姻状况" Width="80" SelectedValueBinding="{Binding MarryStatusID}" SelectedValuePath="ID" DisplayMemberPath="Name" x:Name="colMarry"></DataGridComboBoxColumn> <DataGridComboBoxColumn Header="政治面貌" Width="80" SelectedValueBinding="{Binding ZZMMID}" SelectedValuePath="ID" DisplayMemberPath="Name" x:Name="colZZMMID"></DataGridComboBoxColumn> <DataGridComboBoxColumn Header="学历" Width="80" SelectedValueBinding="{Binding EducationID}" SelectedValuePath="ID" DisplayMemberPath="Name" x:Name="colEducationID"></DataGridComboBoxColumn> <DataGridTextColumn Header="学校" Binding="{Binding School}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="专业" Binding="{Binding Major}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="联系电话" Binding="{Binding TelePhone}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="EMail" Binding="{Binding EMail}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="紧急联系人" Binding="{Binding EmergencyContract}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="入职日期" Binding="{Binding InDate}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="合同起始日期" Binding="{Binding ContractStartDate}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="合同结束日期" Binding="{Binding ContractEndDate}" Width="80"></DataGridTextColumn> <DataGridTextColumn Header="基本工资" Binding="{Binding BaseSalary}" Width="80"></DataGridTextColumn> <DataGridComboBoxColumn Header="部门" Width="80" SelectedValueBinding="{Binding DeptID}" SelectedValuePath="ID" DisplayMemberPath="DeptName" x:Name="colDeptID"></DataGridComboBoxColumn> <DataGridTextColumn Header="备注" Binding="{Binding Remark}" Width="80"></DataGridTextColumn> </DataGrid.Columns>
3、在Window_Loaded事件中对DataGridComboBoxColumn类型列指定数据源。
columnSexCode.ItemsSource = new DataDictionaryDAL().GetNameByCategory("性别"); columnNationID.ItemsSource = new DataDictionaryDAL().GetNameByCategory("民族"); colMarry.ItemsSource = new DataDictionaryDAL().GetNameByCategory("婚姻状况"); colZZMMID.ItemsSource = new DataDictionaryDAL().GetNameByCategory("政治面貌"); colEducationID.ItemsSource = new DataDictionaryDAL().GetNameByCategory("学历"); colDeptID.ItemsSource = new DepartmentDAL().GetAllDept();
浙公网安备 33010602011771号