封装数据时必须使用DateEdit控件的Text属性进行判断,如果为EditValue会报错,具体如下:
开始日期 = dStartDate.Text.Trim().Length == 0 ? null : (DateTime?)Convert.ToDateTime(dStartDate.Text.Trim()),
结束日期 = dEndDate.Text.Trim().Length == 0 ? null : (DateTime?)Convert.ToDateTime(dEndDate.Text.Trim()),
其他的控件在判断的时候用Text属性,取值的时候用EditValue属性,具体如下:
实体类:
/// <summary>
/// PD_Bank实体类
/// <summary>
[Serializable]
public class PD_Bank
{
[Key]
public int ID { get; set; }
public string 人员编号 { get; set; }
public string 银行账户类型 { get; set; }
public string 银行 { get; set; }
public string 账户名称 { get; set; }
public string 账号 { get; set; }
public bool? 是否默认 { get; set; }
public string 备注 { get; set; }
public string 更改者 { get; set; }
public DateTime? 更改日期 { get; set; }
}
private PD_Bank FengZhuang()
{
PD_Bank objPD_Bank = new PD_Bank()
{
ID = txtID.Text.Trim().Length == 0 ? 0 : Convert.ToInt32(txtID.EditValue.ToString()),
人员编号 = txtUserID.Text.Trim().Length == 0 ? null : txtUserID.EditValue.ToString(),
开始日期 = dStartDate.Text.Trim().Length == 0 ? null : (DateTime?)Convert.ToDateTime(dStartDate.Text.Trim()),
结束日期 = dEndDate.Text.Trim().Length == 0 ? null : (DateTime?)Convert.ToDateTime(dEndDate.Text.Trim()),
银行账户类型 = lueZhangHuLeiXing.Text.Trim().Length == 0 ? null : lueZhangHuLeiXing.EditValue.ToString(),
银行 = lueYinHang.Text.Trim().Length == 0 ? null : lueYinHang.EditValue.ToString(),
账户名称 = txtZhangHuMingCheng.Text.Trim().Length == 0 ? null : txtZhangHuMingCheng.EditValue.ToString(),
账号 = txtZhangHao.Text.Trim().Length == 0 ? null : txtZhangHao.EditValue.ToString(),
是否默认= chkIsMoRen.Checked;
更改者 = Program.currentLoginUser.UserName,
更改日期 = objBaseManager.GetServerTime(),
};
return objPD_Bank;
}