自定义单据实战进阶_第1页
自定义单据实战进阶_第2页
自定义单据实战进阶_第3页
自定义单据实战进阶_第4页
自定义单据实战进阶_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程概述案例概述案例详细分析与解决专题研究课程概述案例概述案例详细分析与解决专题研究课程概述课程目标在《自定义单据》课程基础之上,结合实际客开案例,深入了解各个

在项目的用法。课程内容内容涵盖前模型开发,前编程;听课基础自定义单据(初级),自定义单据(高级),OQL语言,C#项目开发考查目标课程概述案例概述案例详细分析与解决专题研究订货单案例描述(

概述)行号处理确认框调用可扩展枚举(UDC)处理卡片页翻页处理UI弹性域处理水印效果料品

项处理数量金额处理Grid

CallBackCradCallBack行号处理确认框调用UDC处理卡片翻页处理水印效果简单应用案例分析(行号处理)引入(客户原始需求)行号支持自动初始值步长可配置插行后号序不能乱分析解决??????功能展示实现取系统参数GetProfileValueProxy

bpObj

=

new

GetProfileValueProxy();bpObj.ProfileCode

=

"SysLineNo";PVDTOData

pVTDOData

=

bpObj.Do();int

LineNoStep

=

Convert.ToInt32(pVTDOData.ProfileValue);(详细描述见常用API培训课件)设置行号列((IAutoRowNo)this.DataGrid5.Columns[1]).Sequence

=

true;((IAutoRowNo)this.DataGrid5.Columns[1]).SequenceStep

=

LineNoStep;((IAutoRowNo)this.DataGrid5.Columns[1]).SequenceStart

=

LineNoStep;代码放置位置:*W

rtExtend.csAfterCreateChildControls练习时间5分钟行号处理确认框调用UDC处理卡片翻页处理水印效果简单应用案例分析(确认框调用)引入(客户原始需求)客户要求重要操作需要提示,并提供给客户二次确认的机会。分析解决??????功能展示实现删除确认框PDFormMessage.ShowDelConfirmDialog(this.Page,PDResource.GetDeleteConfirmInfo(),

"",this.BtnDelete);其他确认框PDFormMessage.ShowConfirmDialog(this.Page,

"保存确认!","确认窗口",this.BtnSave);代码放置位置:*W

rtExtend.csAfterCreateChildControls类似功能实现状态栏提示PDFormMessage.ShowWindowStatus(this.Page,"当前单据已审核!");this.ShowWindowStatus("当前单据已审核!");代码放置位置操作执行完成后.练习时间5分钟行号处理确认框调用UDC处理卡片翻页处理水印效果简单应用案例分析(行号处理)引入(客户原始需求)客户要求某些枚举可定义,系统提供一系列默认值,但可修改.例如:重要程度:系统默认定义为:重要,一般,次要但客户目前想用ABCD来表示.未来可能会换其它方式来表示.分析解决??????功能展示实现组件端处理BE模型中创建枚举时将属性[可扩展]置为True界面端处理UDC.Refresh(this,

this.lblImportantLevel147,this.ImportantLevel147);代码放置位置:*W

rtExtend.csAfterCreateChildControls练习时间5分钟行号处理确认框调用UDC处理卡片翻页处理水印效果简单应用案例分析(行号处理)引入(客户原始需求)由于卡片页只显示当前行的信息,查看前后行的数据操作部方便。分析解决??????功能展示实现翻页事件public

void

AfterEventBind(){//

页签控件的导航按钮Click事件this.TabControl0.NavButtonClickEvent

+=newNavButtonClickEventHandler(TabControl0_NavButtonClickEvent);}实现翻页逻辑der,

NavButtonClickEventArgs

e)private

void

TabControl0_NavButtonClickEvent(objec{try{this.OnD

ollect(this);NavButtonHelper.NavigateTabPage(sender,

e);//设置当前焦点NavButtonHelper.NavigateGrid(this,

this.DataGrid5);//设置DataGrid,PageIndex//其它处理this.TabControl0_SelectedIndexChanged_Extend(sender,

new

EventArgs());}catch

(Exception

ex)实现{if

(UFSoft.UBF.Exceptions.ExceptionHelper.IsUnknownException(ex,

true)){throw;}IUIModel

model

=

this.Model;this.Model.ErrorMessage.SetErrorMessage(ref

model,

ex);}}控制翻页按钮在BeforeUIModelBinding方法中调用如下代码private

void

SetNavButtonIsShow(){for

(int

i

=

1;

i

<

this.TabControl0.TabPages.Count;

i++){NavButtonHelper.SetNavButtonEnableStatus(this.TabControl0.TabPages[i]);}}练习时间5分钟行号处理确认框调用UDC处理卡片翻页处理水印效果简单应用案例分析(行号处理)引入(客户原始需求)客户要求单据状态一目了然,醒目分析解决提供水印功能功能展示实现事件public

void

AfterUIModelBinding

(){//水印效果this.

SetWaterMark

()

;}实现逻辑private

void

SetWaterMark(){OrderDocRecord

headRecord

=

this.Model.OrderDoc.FocusedRecord;if

(headRecord

==

null)

return;if

(headRecord.Status

==

(int)DocStatusEnumData.Opened){UFWaterMark

mark_Opened

=

new

UFWaterMark();mark_Opened. Control

=

this.Status74;mark_Opened.WaterMarkType

=

enuMarkType.Open;}………….}练习时间5分钟料品

项处理数量金额处理Grid

CallBackCard

CallBack复杂应用案例分析(行号处理)引入(客户原始需求)很多料品有自己独特的附加属性如:形状,大小,颜色,规格等等,系统需要支持用户可以灵活配置。分析解决料品支持项U9

项概述料品的形态属性为【商品】的支持项系统提供十个

项项在界面的展现为3:10项的定义项约束关系的定义料品上

项的设定功能展示实现UIModel的设计自定义参照字段UIForm的设计项参照的处理项状态的控制料品选定后

项的处理项BP调用项过滤条件的处理项Label名称的处理项相互约束的处理料品

项处理数量金额处理Grid

CallBackCard

CallBack复杂应用案例分析(行号处理)引入(基本需求)数量金额联动分析解决时时计算功能展示界面数字控件的处理数字控件的关键属性按值舍入值舍入规则小数位数(静态)小数位数(动态)货币符号数字格式数字控件的界面处理U9的计价单位计价单位计价单位副单位主副单位的转换率计价单位组计价单位组基准单位计价单位的组间转换率料品的转换率策略料品的特定转换率CallBack简介Ajax技术的U9封装优点比PostBack性能高用户体验好缺点代码逻辑复杂代码不易CallBack_Grid事件

位置AfterCreateChildControls事件private

void

GridQtyCallBackEvents(){AssociationControl

assoCGrid

=

new

AssociationControl();assoCGrid.SourceServerControl

=this.DataGrid5;assoCGrid.SourceControl.EventName

=

"OnCellD

hanged";((UFWebClientGri

pter)assoCGrid.SourceControl).FireEventCols.Add("Count");ClientCallBackFrm

DistributeQtycallBackFrm

=

new

ClientCallBackFrm();DistributeQtycallBackFrm.ParameterControls.Add(this.DataGrid5);DistributeQtycallBackFrm.DoCustomerAction

+=

newClientCallBackFrm.ActionCustomer(GridQtyCallBackFrm_DoCustomerAction);DistributeQtycallBackFrm.Add(assoCGrid);this.Controls.Add(DistributeQtycallBackFrm);}事件实现object

GridQtyCallBackFrm_DoCustomerAction(CustomerActionEventArgs

args){OrderDoc_OrderDocLinesRecord

lineRecord

=

this.Model.OrderDoc_OrderDocLines.FocusedRecord;if

(lineRecord

==

null)

returnargs;ArrayList

list

=

(ArrayList)args.ArgsHash[this.DataGrid5.ClientID];int

curIndex=Convert.ToInt32(args.ArgsHash[UFWebClientGri

pter.FocusRow]);Hashtable

hashT=

(Hashtable)list[curIndex];pter(this.DataGrid5);UFWebClientGri pter

grid

=

new

UFWebClientGriobject

oQty

=hashT["Count"];decimalQty

=

decimal.Zero;if(!this.IsNullOrZero(oQty))Qty

=

Convert.ToDecimal(oQty);object

oPrice

=

hashT["PriceWithTax"];decimal

Price

=

decimal.Zero;if(!this.IsNullOrZero(oPrice))Price

=

Convert.ToDecimal(oPrice);//数量格式化introundType=Convert.ToInt32(hashT["Currency_MoneyRound_RoundType"]);int

roundValue

=

Convert.ToInt32(hashT["Currency_MoneyRound_RoundValue"]);int

precision

=

Convert.ToInt32(hashT["Currency_MoneyRound_Precision"]);decimal

Money

=

RoundEx(Qty

*

Price,

roundType,

roundValue,

precision);grid.CellValue.Add(new

Object[]

{

curIndex,

"MoneyWithTax",new

string[]

{

Money.ToString(),

Money.ToString(),Money.ToString()

}

});args.ArgsResult.Add(grid.ClientInstanceWithValue);returnargs;}CallBack_其他控件事件

位置AfterCreateChildControls事件事件实现常用事件事件列表Grid常用事件单元格数据改变OnCellDhanged单元格获得焦点前OnBeforeCellFocusEnter数字控件..\U9.VOB.Produc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论