列表过滤报表使用方法_第1页
列表过滤报表使用方法_第2页
列表过滤报表使用方法_第3页
列表过滤报表使用方法_第4页
列表过滤报表使用方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

一、列表控件使用方法1、栏目的预置delete from aa_columndic_base where ckey=0412 and cfld=N ipriority Insert Into aa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,LocaleID,IsEnum,bFilter,bMerge,cSumType,cProjectNO,cSubID,CanModify,ReferType) Values (N0412,Nipriority,Null,1,N优先级,Null,0,1,1200,1,Null,0,0,1,0,Nzh-cn,0,0,0,Nnone,NU870,NST,1,2)Insert Into aa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,LocaleID,IsEnum,bFilter,bMerge,cSumType,cProjectNO,cSubID,CanModify,ReferType) Values (N0412,Nipriority,Null,1,N優先級,Null,0,1,1200,1,Null,0,0,1,0,Nzh-tw,0,0,0,Nnone,NU870,NST,1,2)Insert Into aa_columndic_base(cKey,cFld,cQryField,iColPos,cCaption,cCaptionPar,bFixed,bDisp,iColWidth,iAlign,cOrder,bLock,iMergeCols,bMustSel,bNeedSum,LocaleID,IsEnum,bFilter,bMerge,cSumType,cProjectNO,cSubID,CanModify,ReferType) Values (N0412,Nipriority,Null,1,NPriorty,Null,0,1,1200,1,Null,0,0,1,0,Nen-us,0,0,0,Nnone,NU870,NST,1,2)其中0412 为栏目的标识,可以根据需要预置多个自己想要的栏目。2、列表初始化初始化栏目服务Dim oColumn As U8ColumnSet.clsColSet 此定义为窗体变量或是全局变量 Set oColumn = New U8ColumnSet.clsColSet oColumn.Init conn, g_oLogin.cUserIdoColumn.setColMode 0412 以材料出库单列表的栏目为例子,0412为ckey取数Set rstList = New ADODB.RecordsetrstList.Open select & oColumn.GetSqlString & from recordoutlist , conn, adOpenStatic, adLockReadOnlyVouchList1.SetVchLstRst rstList 列表记录集的填充方式设置:VouchList1.FillMode = FillOverwriteVouchList1.FillMode = FillAppend FillOverwrite代表用方法VouchList1.SetVchLstRst rstList 给列表填充数据的时候会覆盖原有数据,而FillAppend是在原来的显示列基础上追加数据。合计方式:VouchList1.SumStyle = vlRecordAndGridsum vlRecordSum给列表控件赋栏目VouchList1.InitHead oColumn.getColInfo 获取列表某个单元格的值:VouchList1.TextMatrix(Row, VouchList1.GetColIndex(cinvcode)-row为行号,VouchList1.GetColIndex(cinvcode)为获取栏目cinvcode所对应的列号。设置单元格的编辑状态:VouchList1.DisableTextMatrix True,VouchList1.GetColIndex(cinvcode),row获取列表数据dom:VouchList1.GetListDom True/falseTrue代表只获取选中的行。False获取全部的行。3、按钮事件设置toolbar按钮:栏目、定位等点击栏目可以设置栏目触发事件:Private Sub UFToolbar1_OnCommand(ByVal enumType As UFToolBarCtrl.ENUM_MENU_OR_BUTTON, ByVal cButtonId As String, ByVal cMenuId As String) If LCase(cButtonId) = tlbsel Then栏目设置 If Not oColumn.setCol = enmCancel Then VouchList1.InitHead oColumn.getColInfo End If ElseIf LCase(cButtonId) = tlblocate Then定位 VouchList1.Locate True End IfEnd Sub列表的打印输出和预览。打印:VouchList1.VchLstPrint预览:VouchList1.VchLstPreview输出:VouchList1.VchLstPrintToFile二、过滤条件的使用1、过滤的预置计入uap开发版之后,点击上面的工具下面的过滤设计器,输入产品号之后就可以设计过滤了,点击新增,这时你就可以新增过滤条件项了。其中名称为标示,标题为显示的表体,数据源是过滤条件拼写出来的sql语句的中的字段名。编辑类型可以根据需要选择,下面一些的选项可以自己选择。下面介绍一下几个特殊的编辑类型:A: 参照类型,如果设置为参照,则要在下面填写对应的参照id,比如你这个过滤是仓库条件,参照id就为warehouse_aa,然后在最下面参照返回值中选择你要返回的是编码还是名称。B:枚举类型,设置为枚举类型的时候,需要在枚举烂里面输入枚举类型(就是aa_enum里面的enumtype字段),默认显示可以输入你想要默认显示的enumcode.用逗号分开。C:sql语句类型,如果编辑类型选择了sql语句的话,需要在sql语句页签下的第一个text框中输入数据源,如下图标题text框里面是你要显示的数据源字段对用的标题。返回字段列是你选中之后返回的的列,fld1代表第一列。其他可以具体的参照其他过滤设置。2、过滤的调用 Dim oFltSrv As New UFGeneralFilter.FilterSrvIf oFltSrv.OpenFilter oLogin, FilterID, , ST, , TrueEndif其中oLogin 是u8login,FilterID是过滤的ID。ST是系统号。三、新报表制作方法1、报表预置进入UAP开发版后,点击870后,右面会显示各个模块报表,下面以库存为例子来介绍报表制作方法。在报表节点点击右键-新建报表然后就可以新建报表的数据引擎了,一般我们使用上面的选择方式来新建报表。其中而业务对象名称和描述可以自己选择名字。点击下一步就可以弹出下面界面2、数据源设置这里是对报表设置数据源和列表体的地方,其中下面的数据源是在我们调用报表服务的时候,报表服务回掉的数据源工程和类,用来取数。所以你要确定你已经写好这个类。新报表是默认调用USSTREPORT.ClsTest里面的下面方法。Public Sub GetSql(e As IFilterArgs) Dim sSql As String Set objflt = e.RawFilter Set mconn = New ADODB.Connection Set mconn = e.Login.UfCurrentDb Dim iCommandTimeOut As Long iCommandTimeOut = mconn.CommandTimeout mconn.CommandTimeout = 0 Set objLogin = e.Login e.DataSource.Type = CustomDataSourceTypeEnum_TemplateTable strTempTableName = e.DataSource.SQL sSql = MoveDataDetail mconn.CommandTimeout = iCommandTimeOut Call e.Args.Add(GroupFilter, GetViewFilter()End Sub3、查询结果列设置其中的名称和你数据源查询出来的结果列字段要一致。4、过滤条件设置此过滤条件是在调用报表服务时自动,报表服务自动调用的过滤。5、报表的调用 Dim oReportsrv As ReportService.clsReportManager Set oReportsrv = New ReportService.clsReportManager oReportsrv.OpenReport , g_oLogin, ST 第一个变量是报表的id上面的调用报表服务会自动调用你传入id的报表,先弹出过滤界面,如果你给这个报表设置了过滤条件,单击过滤就会弹出报表界面 点击过滤后报表会自动调用你预置的类的数据源中的方法老报表调用getsqlforold,新报表调用getsql。 然后调用的时候报表服务会传入一个对象,里面有login的信息和一个临时表名,你把报表的明细数据插入到这个临时表后报表控件就会显示数据。四、参照控件和参照服务的使用1.引用参照服务的引用:参照控件的引用:2.参照的初始化新建一个EditRef控件EditRef1,初始化的时候设置如下。RefEdit1.RefType = RefUserBrowse 表示是用户自己设置参照ID。参照类型有好几中其中; RefCalculator 代表是数值类型的参照,就是计算器。RefDate代表是日期类型参照,参照出来的是日历。3.调用参照服务如果设置参照类型为用户自定义参照,可以调用参照服务,下面以仓库参照为例子Private Sub RefEdit1_Click() Dim Ref As New U8RefService.IService Dim retRstClass As ADODB.Recordset Dim retRstGrid As ADODB.Recordset Dim sError As String Ref.RefID = warehouse_aa Ref.MetaXML = Ref.Mode = modeRefing If RefEdit1.Text Then Ref.FilterSQL = #FN

温馨提示

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

评论

0/150

提交评论