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; }
    }

}
View Code

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>
View Code

 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();
View Code

 

posted on 2014-04-23 22:57  恩恩爸爸  阅读(387)  评论(0)    收藏  举报