数据字典基础资料窗体主键设置为自动生成流水号码解决方案
作者:C/S框架网|www.cscode.ne  发布日期:2020/11/17 13:23:13
  数据字典基础资料窗体主键设置为自动生成流水号码解决方案


如下图所示:点【新增】按钮,报表编号为“*自动生成*”,输入其他资料,点保存自动生成报表编号。


贴图图片-数据字典窗体自动序号


贴图图片-数据字典窗体自动序号4




具备条件:


1. 流水号码的字段类型为VARCHAR类型, 长度10~50位。
2. 一张表只能有一个字段可以生成流水号码。



解决方案:


1. 在Model内,将流水号码字段Attribute特性的参数isDocFieldName设置为true,
 isAddorUpdate=true。


如ReportID字段的设置如下:

贴图图片-数据字典窗体自动序号1



2. DAL层的构造器,将_UpdateSummaryKeyMode=OnlyDocumentNo,
既通知DAL,新增状态提交数据必须生成流水号码。


贴图图片-数据字典窗体自动序号2



DAL层,重写GetNumber方法,调用GetDataSN方法生成流水号码。


C# Code:

protected override string GetNumber(DbTransaction tran)
{
  
string SN = DocNoTool.GetDataSN(tran, "PT"true6);//注意修改流水号字头!
  
 return SN;
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761






3. UI层(界面)重写DoSave, DoAdd两个方法。



贴图图片-数据字典窗体自动序号3




C# Code:

public override void DoSave(IButtonInfo sender)
{
  
//调用基类提供的保存方法
  
base.DoSaveEx(sender);
}

public override void DoAdd(IButtonInfo sender)
{
  
base.DoAdd(sender);
  
  
if (this.IsAddMode)
  SetEditorBindingValue(txtReportID,
"*自动生成*", true);
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761



4. 参考文档:


数据字典自动生成流水号

http://www.csframework.com/archive/1/arc-1-20121231-1970.htm



代码生成器生成的数据字典窗体可支持流水号
http://www.csframework.com/archive/9/arc-9-20150105-2187.htm



数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号

http://www.csframework.com/archive/1/arc-1-20181027-2489.htm



C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

上一篇 下一篇