练习:客商、车辆基础资料画面——完成心得
完成效果
功能相关
流水号
实现:客商编码和车辆编码使用流水号。
以前缀’M’+0001类推进行自增。在Map的xml文件中增加查询最大Id的sql语句。
当新增一条新的数据时,调用此方法获取这个表中的最大Id,对字符串进行拼接即可得到一个string类型的值。拼接时可以使用
“C” + String.Format("{0:D" + B + “}”, A+1);
参数A:获取的最大Id
参数B:补0后得到的位数
参数C:前缀字母
其他:String.Format是用作格式化数据的函数。
详解:https://www.cnblogs.com/babietongtianta/p/4958189.html
LookUpEdit控件
客商类别使用LookUpEdit控件,1表示进厂,2表示出厂(具体参照数据字典)写入数据库MerchantType字段,在可编辑处以“进厂”“出厂”(具体参照数据字典)来显示。
实现一:声明一个list,用.Properties.DataSource方法导入数据。ValueMember是实际要使用的值,.DisplayMember是在画面上选中显示的值。
声明list:
public IList<TS_Dic_MerchantType> list;
TS_Dic_MerchantType c1 = new TS_Dic_MerchantType();
c1.Id = 1;
c1.MerchantType = "出厂";
TS_Dic_MerchantType c2 = new TS_Dic_MerchantType();
c2.Id = 2;
c2.MerchantType = "进厂";
list = new BindingList<TS_Dic_MerchantType>();
list.Add(c1);
list.Add(c2);
给LookUpEdit导入数据:
txt_MerchantType.Properties.ValueMember ="Id" ;
txt_MerchantType.Properties.DisplayMember = "MerchantType";
txt_MerchantType.Properties.DataSource = list;
实现二:
联合查询数据字典表和Merchant表,获得编号和客商类别汉字字段,导入LookUpEdit控件显示。
其他:
获取控件内容:LookUpEdit1.EditValue.ToString()
这里获取到的值是Properties.ValueMember设定的字段。直接LookUpEdit1.EditValue获取到的是object类型,需要ToString()。
后台设置控件选择情况:LookUpEdit1.ItemIndex = 0
0表示下标,表示第一个数据。
设置是否只读:LookUpEdit1.Enabled=true/false
GridControl控件的时间类型显示方式
默认YYYY-MM-DD显示,需要增加时分秒的显示。
这里再Run Designer中的Columns选中时间类型的数据,DisplayFormat属性的FormatType设置为DateTime,FormatString设置为G。
CheckBox控件
车辆基础管理中是否超长(OverLength)用Checkbox编辑。
设置控件的状态:ch_OverLength.Checked = false/true ;
判断控件是否被选中:
if (ch_OverLength.CheckState == CheckState.Checked)
{
//..
}
其中ch_OverLength.CheckState 表示该控件的状态,CheckState.Checked也是一种状态,它们都不是单纯的bool值。
设置是否只读:ch_OverLength.Enabled = false/true ;
创建更新时间设置
创建日期修改日期:
在xml的sql语句中,创建日期在insert语句中给CreateDateTime调用Getdate()函数赋值。同理修改日期在update语句中给UpdateDateTime用Getdate()赋值。
GridControl控件排序问题
需要默认显示为以创建时间由新到老的顺序排序。
再RunDesigner的Columns中的创建时间字段的SortMode、SortOrder属性进行设置。
关于GridControl控件的分组排序问题详解:https://blog.csdn.net/wangjinyang_123/article/details/41629433