U8开发之单据列表控件.doc_第1页
U8开发之单据列表控件.doc_第2页
U8开发之单据列表控件.doc_第3页
U8开发之单据列表控件.doc_第4页
U8开发之单据列表控件.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

U8知识库文档U8单据列表控件摘要单据列表控件是供业务单据展示列表数据以及编辑处理的,并且集成了部分单据列表公共按钮、快捷过滤、翻页功能。同时也支持直接通过单据列表编辑录入数据。概念说明公共按钮是指单据列表固有的一些操作,如:查询、条件格式设置、布局等等;快捷过滤是一种更加直接快速的常用查询项目过滤,主要区别在于可以直接在列表主界面录入常用过滤项目内容进行查询;翻页功能集成则是指列表控件自带了翻页处理,业务模块使用时可以不用专门处理翻页的逻辑。目标本文主要介绍单据列表控件的业务应用及相关注意事项,方便各类U8产品开发人员更好的使用高效开发产品。文档内容一、 列表控件(V11.0)增加的特性:1. 集成【快捷过滤】功能;类似原来各列表界面里toolbar上的查询刷新滤设功能。查询按钮下拉查询方案:默认操作兼容原有功能。查询支持方案和快捷条件详细设置:【快捷过滤】相关的业务组代码调整:调整过滤对象的查询方法(UFGeneralFilter.FilterSrv.OpenFilter)调用,修改为调用过滤对象初始化方法(UFGeneralFilter.FilterSrv. InitBaseVarValue),参数传递与过滤对象查询原来的方法(UFGeneralFilter.FilterSrv.OpenFilter)兼容。然后调用新单据列表控件的快捷过滤初始化方法(VouchList.InitFlt),把初始化好的过滤对象传入(如果没有过滤对象,也可以直接传入过滤对象ID或过滤对象名称+子系统号)。 代码修改前后对比示例如下(灰色字体部分是已经被注释的修改前的代码,下同):(引用的是服务协议列表代码修改模型)Set m_opub = CreateObject(UFGeneralFilter.FilterSrv) bSuccess = m_opub.OpenFilter(g_Login, 6729D410-233A-4674-A48A-2C34C17B82F6, , , ErrInfo) lliang_2011-11-22_单据列表:快捷过滤 bSuccess = m_opub.InitBaseVarValue(g_Login, 6729D410-233A-4674-A48A-2C34C17B82F6, , , ErrInfo) Call VouchList.InitFlt (g_Login, m_opub, , , , , Err)参数1:Login对象参数2:过滤对象参数3:条件的Key参数4:过滤的名称参数5:子产品号参数6:返回的错误信息返回值:如果返回为False表明出现失败说明:你可以用参数2,忽略参数3、4、5或用参数3而忽略参数2和4、5或用参数4、5而忽略2和3.注意事项:调用此初始化方法的时机要求在Form_Load事件里,目前大部分产品的过滤对象调用(m_opub.OpenFilter)都是在相应的类模块或其他非窗体模块处理,所以需要各模块根据实际情况把过滤对象变量有效传递到窗体然后在Form_Load事件里调用。推荐的方法是事前在窗体模块声明全局变量,然后在调用过滤对象的地方把已经初始化好的过滤对象暂时赋值给窗体的全局变量,最后在Form_Unload事件里即时的释放该全局变量。 / 直接在列表控件(V11.0)新增的查询事件中(FilterClick)调用原来的“查询”功能即可,同时把此事件返回的过滤对象参数一并传递到原查询功能。Private Sub VouchList_FilterClick(fldsrv As Object) Operating (filter,fldsrv)End Sub 注:是否显示快捷过滤依据的是原列表是否支持查询功能。附:快捷过滤预置表:Data库 的flt_quickconditionset表对应字段说明:filterid 过滤编号userid 用户编号,业务组预置用固定的 systemitemName 用于快捷过滤的项的名称 如:cDepName2. 集成【翻页】功能;取代原来各列表界面手工翻页或采用平台翻页控件的功能。【翻页】相关的业务组代码调整:1) 业务代码原列表界面中使用平台的翻页控件(PagedivCtl)的情况:在调用平台翻页控件绑定分页引擎的地方直接修改为用列表控件(V11.0)绑定分页引擎,接口方法和传递参数完全兼容,同时删除原平台翻页控件并把相关的代码注释(包括原翻页控件涉及的事件),同时把原翻页控件对应的事件实现在列表控件对应的事件中实现(事件兼容)。(引用的是销售订单列表代码修改模型) Call PagedivCtl1.BindPagediv(m_pagediv)lliang_2011-11-22_单据列表: 翻页 Call VchLst.BindPagediv(m_pagediv) Private Sub PagedivCtl1_BeforeSendCommand(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long) Me.VchLst.SetVchLstRst Nothing Me.VchLst.FillMode = FillOverwriteEnd SubPrivate Sub VchLst_BeforeSendCommand(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long) Me.VchLst.SetVchLstRst Nothing Me.VchLst.FillMode = FillOverwriteEnd Sub2) 业务代码原列表界面没有采用平台的翻页控件,是自己处理的翻页功能的情况,时还不想采用先前到翻页控件的方式(原因:代码改动太大,可能出错的情况也多,而且直接影响由列表导航出的单据卡片翻页的界定范围),只是希望直接借用列表控件(V11.0)的翻页框架,而列表数据的获取保持不变(还是由业务组直接获取传递给列表控件)。就此方案代码模板示例如下:/1、申明分页引擎变量(引用的是库存所有单据列表代码修改模型)lliang_2011-12-02_新单据列表:Private WithEvents m_pagediv As Pagediv 分页引擎/2、FormLoad事件里初始化分页引擎并绑定到列表控件(V11.0)上(列表数据的加载过程保持不变,并且此必须放到列表数据加载之前执行,并且确认列表数据加载后给原有的列表属性RecordCount正确赋值了-应该是总记录数,而不是当前页显示的记录数) Set m_pagediv = New Pagediv m_pagediv.PageInfo.CurrentPage = txtPage.Text m_pagediv.PageInfo.pageSize = txtSize.Text 注:此两处代码赋值逻辑需要在运行期检查原控件值是否存在 Call VouchList1.BindPagediv(m_pagediv) /3、在列表控件新增的翻页相关的事件中实现原来的手工翻页逻辑。Private Sub VouchList1_BeforeSendCommand(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long) txtSize.Text = pageSize Select Case cmdType Case UFFirst cmdFirst_Click Case UFPrevious cmdPer_Click Case UFNext cmdNext_Click Case UFLast cmdLast_Click Case UFOK cmdOK_Click Case Else End SelectEnd Sub注:是否显示翻页依据的是原列表是否支持翻页功能。3) 业务代码原列表界面没有采用平台的翻页控件,而是自己处理的翻页功能的情况:这种情况需要首先把业务组手工增加的列表翻页功能到平台翻页控件,然后再根据第1)种情况对应的方法到列表控件(V11.0),也可由手工的列表翻页功能直接到列表控件(V11.0)的翻页。至于如何从手工翻页功能到平台的翻页控件,这个可以咨询目前已经采用平台翻页控件的业务组成员处理(其中由列表导航出的单据卡片翻页的界定范围需要通过列表过滤条件串约束),在此也简单就代码修改过程示例说明一下:(新作单据列表时必须使用)(引用的是库存的其他入库单列表代码修改模型)Private WithEvents m_pagediv As Pagediv 分页引擎Private m_coni As IPagedivConi 条件,基本上都是从U8Colset中进行初始化/增加如下列表分页初始化方法,一个分页引擎事件。Private Sub InitPagedivCtl(oColSet As Object, mCnn As Connection, VouchList As Object, strWhere As String) 初始化分页控件 Call InitConi(oColSet, strWhere , m_coni) Set m_pagediv = New Pagediv Call m_pagediv.Initialize(mCnn, m_coni) Call PagedivCtl1.BindPagediv(m_pagediv) Call VouchList.BindPagediv(m_pagediv) Call m_pagediv.LoadDataEnd Sub初始化分页条件Public Sub InitConi(ByVal oColSet As Object, strWhere As String, m_coni As IPagedivConi) On Error GoTo ErrHandler If m_coni Is Nothing Then Set m_coni = New DefaultPagedivConi End If m_coni.From = KCOtherInList 此处需要通过一个专门的方法获取列表对应的数据源(视图)名称 If bGroupBy Then 是否查看汇总信息 m_coni.SelectConi = Replace(oColSet.GetSqlSumString, , ) If strWhere = Then strWhere = 1=1 m_coni.Where = strWhere m_coni.GroupBy = oColSet.GetSqlGroupString m_coni.OrderID = oColSet.GetOrderStringEx m_coni.RealTableName = clsVoucherLst.GetVoucherListSet(maintbl) m_coni.RealPrimaryKey = clsVoucherLst.GetVoucherListSet(mainkey) Else m_coni.SelectConi = oColSet.GetSqlString m_coni.OrderID = oColSet.GetOrderStringEx m_coni.Where = strWhere 相当于where部分 m_coni.GroupBy = m_coni.RealTableName = clsVoucherLst.GetVoucherListSet(detailtbl) m_coni.RealPrimaryKey = clsVoucherLst.GetVoucherListSet(detailkey) m_coni.SumConi = End IfExitFnc: Exit SubErrHandler: End SubPrivate Sub m_pagediv_AfterGetData(rst As ADODB.Recordset, cnt As Long) VouchList1.SetVchLstRst Nothing VouchList1.FillMode = FillOverwrite ST_SetFormat VouchList1, CvouType VouchList1.DoFormat VouchList1.SumStyle = vlRecordAndGridsum VouchList1.SetVchLstRst rst If Not IsNull(ColSet) Then VouchList1.InitHead ColSet.getColInfo End If VouchList1.RecordCount = cntEnd Sub/在所有以前手工调用查询列表数据的地方修改为调用此列表初始化方法:InitPagedivCtl getListData VouchList1, ClsBill, CvouType, nPages, 1, txtSize.Text, sWhere, True, , , , bGroupBy, m_strGUID VouchList1.RecordCount = ClsBill.ListCountCall InitPagedivCtl(ColSet, moLogin.AccountConnection, VouchList1, sWhere)3. 改变【行选择】功能;取代原来各列表界面里toolbar上的全选/全消功能,同时取代以前双击列表选择列打”Y”的功能。选择:用列表头check方式取代原来的全选/消功能【行选择】相关的业务组代码无需调整:以前判断行选择状态的方法(VouchList.TextMatrix(i, oCols(selcol).iColPos) = Y)完全兼容。注:列表控件(V11.0)GRID的左上角(0行0列)是否显示复选框(即:是否支持全选/消)依据的是原列表(toolbar)上是否支持“全选/全消”功能。4. 调整【筛选】功能;取代原来列表控件自带的小漏斗按钮筛选功能。移到了toolbar功能按钮区域,对应的筛选结果以红色字体在列表下文翻页区域显示。【筛选】相关的业务组代码调整:列表控件(V11.0)去掉了以前的“筛选”小漏斗按键,增加了对应的接口方法(AutoFilter),用于业务组在ToolBar上操作新版本追加的下拉式按钮筛选时调用,以实现单据列表原来的筛选功能。 Case tlbFilter 筛选 If Toolbar1.buttons(tlbFilter).Value= 1 Then VouchList1.AutoFilter (True) Else VouchList1.AutoFilter (False) End If注:除非原列表界面的“筛选”功能就不可用,默认所有列表界面都支持筛选功能。5. 美化行记录的间隔背景色了解;6. 新增【自动折行】功能;新增的自动折行功能,方便显示栏目里全部信息。【自动折行】相关的业务组代码调整:列表控件(V11.0)增加了对应的接口方法(AutoSizeMode),用于业务组在ToolBar上操作新版本追加的check式按钮折行时调用,以实现单据列表的折行功能. Case tlbSize 折行 If Toolbar1.buttons(tlbSize ).Value= 1 Then VouchList1. AutoSizeMode (True) Else VouchList1. AutoSizeMode (False) End If注:默认所有列表界面都支持折行功能。7. 新增【复制】功能;【复制】相关的业务组代码调整:列表控件(V11.0)增加了对应的事件(CopySelect),用于业务组代码调用判断是否有输出权限 时调用,以实现单据列表在有输出权限的情况下正确的复制被选中区域的列表内容。lliang_2011-11-28_新单据列表:Private Sub VouchList1_CopySelect(bAuther As Boolean) bAuther = CheckPrinExportAuth(CvouType, False, True) 此处直接调用的是原“输出”按钮对应权限判断逻辑。End Sub新加快捷键:Ctrl+C 复制、Ctrl+A 反选注:是否支持复制功能依据的是原列表是否支持输出功能。8. 新增【设计打印模板方案】功能;列表对应单据的打印模板在线设置与选择:【设计打印模板方案】相关的业务组代码调整:列表控件(V11.0)增加了对应的接口方法(ShowVoucherDesign),用于业务组在ToolBar上操作新版本追加的按钮设计打印模板方案时调用,以实现单据列表的打印模板设计功能. Case tlbVoucherDesign 设计打印模板all VouchList.ShowVoucherDesign(qm03, 553)注:默认所有列表界面都支持设计打印模板方案功能。9. 列表栏目新增计算列功能;列表栏目新增功能:可以自定义追加计算列。计算列的值公式定义:1、 如下图红框标识各变化区域:图1列表全景图。包括:toolbar按钮区域、标题、快捷过滤、过滤方案、列表主体、翻页(状态)区域。10. 单据列表界面TooLbar公共通用按钮的逻辑处理了解新增DLL:U8VouchListCommon.clsToolbarCommon.RunCommand()Public Function RunCommand(ByVal objLogin As Object, ByVal objForm As Object, ByVal objVoucher As Object, _ ByVal sKey As String, ByVal VarentValue As Variant, ByVal other As String)End Function单据列表界面TooLbar公共通用按钮相关脚本预置补充说明表:AA_FormButtons_base ,字段: ProcessObjectName(平台公共处理事件dll)设置为“U8VouchListCommon.clsToolbarCommon”FunctionKey (按钮公共Key)设置为平台统一规范的各公共按钮Key值。如 打印:Print针对【EAI输出】 时预置FunctionKey 时约定格式:eaiexport toolbarkey,PurchaseOrderroottag以上字段如果不预置,按钮还走原来的调用机制(由业务组自行实现对应的toolbar_click事件)。目前列表支持的公共通用按钮包括:【打印】、【输出】、【预览】、【布局】(【上下布局】、【左右布局】、【显示快捷过滤条件】、【显示快捷过滤方案】)、【定位】、【自动折行】、【EAI输出】、【条件设置】、【收藏到常用功能】、【筛选】。所以凡涉及这些公共按钮逻辑的处理业务组可以预置toolbar数据的方式通过列表公共服务实现其功能,也可以参考如上说明自己实现toolbar事件处理。建议:针对如上这些公共按钮事件里如果没有个性化的业务逻辑最好通过预置toolbar直接调用列表公共实现。注意:如果预置了对应的toolbar公共处理信息则不会再调用原来的toolbar_click事件。代码准备:需要在初始化ToolBar后调用如下方法 Call Me.CTB.InitExternalButton(mVoucherType, g_Login) Call CTB.SetFormInfo(Me.ctlVoucher, Me)11. 单据列表支持EAI输出快速实施格式的XLS文件通过预置toolbar列表公共处理服务实现,支持以实施工具的格式输出功能。12. 新增【条件设置】-着色功能通过预置toolbar列表公共处理服务实现。列表着色:新增功能,用于通过条件设置把符合条件的记录或单元格用设定的颜色显著的标识出来。条件值公式定义:快捷条件值设置:13. 新增【布局】功能;快捷过滤用户可选择快捷过滤上下布局或者左右布局,快捷过滤可设置是否显示。列表布局:新增列表各区域各种组合布局显示方式左右布局:隐藏快捷过滤:隐藏过滤方案:14. 【快捷过滤动态布局】相关的业务组代码调整:列表控件(V11.0)增加了对应的接口方法(IsFltVerticalDisplay、FltSolutionVisiable),用于业务组在ToolBar上操作新版本追加的下拉式按钮布局时调用,以实现单据列表快捷过滤动态设置布局的功能。 Case tlbVertical 纵向布局 If Toolbar1.buttons(tlbVertical ).Value= 1 Then VouchList1. IsFltVerticalDisplay (True) Else VouchList1. IsFltVerticalDisplay (False) End If Case tlbSolution 查询方案 If Toolbar1.buttons(tlbSolution ).Value= 1 Then VouchList1. FltSolutionVisiable (True) Else VouchList1. FltSolutionVisiable (False) End If注:默认所有列表界面都支持快捷过滤动态布局功能。15. 【收藏到常用功能】相关的业务组代码调整:此功能实现是通过预置toolbar列表公共处理服务处理,但是从收藏到桌面的快捷图标进入列表的逻辑需要业务组参考“菜单发布”的解析逻辑处理。“菜单发布”具体实现方案:“双击方案菜单传入的CMDLine串格式:原CMDLine&菜单发布过滤方案。(其中过滤方案包括源菜单MenuID vbtab 过滤方案ID)得到菜单给的cmdline 后先使用“&”分隔后,前半部分是原来的cmdline 后半部分菜单发布过滤方案。然后调用过滤的时候把过滤方案ID传给过滤对象并隐藏过滤对象。注:非过滤方案发布的菜单是不带&的。”代码示例: lliang_2012-02-29_菜单发布:菜单发布 传入的cmdline先用&分割 前部分是原来的 后部分是菜单发布传入的 Dim cPara Dim cPara1 菜单发布过滤方案传入的命令 Dim cCmdLineMenu As String sMenuPubFilter = cPara1 = Split(cCmdLine, &) If UBound(cPara1) 0 Then 原命令和菜单发布传入的分开 cCmdLine = cPara1(0) cCmdLineMenu = cPara1(1) End If 处理菜单发布传入的cmdline信息 cPara1 = Split(cCmdLineMenu, vbTab) If UBound(cPara1) = 1 Then 菜单发布的源menuid 和 过滤方案id cMenuId = Trim(cPara1(0) sMenuPubFilter = Trim(cPara1(1) End If处理发布菜单操作逻辑:11.0菜单发布直接传入解决方案id:sMenuPubFilter,然后过滤条件自动隐藏。If sMenuPubFilter ThenSet fltSrv = New UFGeneralFilter.FilterSrvfltSrv.InitSolutionID = sMenuPubFilterbSuccess = fltSrv.OpenFilter(mLogin, , cVouch, Now_SysID, ErrStr, True)Else原来的逻辑End if支持快捷过滤方案右键功能收藏到常用功能:16. 【条件设置】相关的业务组代码调整:此功能实现是通过预置toolbar列表公共处理服务处理,但数据刷新需要业务组响应toolbar的click事件处理(类似“栏目”设置后刷新列表数据),同时需要在初始化列表控件时赋值U8Login对象。此事件是否会被调用由列表公共处理服务来控制,无需业务组判断。VouchList.LoginObj = U8Login Case DisplayRules 条件设置 Call Fresh17. 其他情况注意事项:1) FltState:列表新增的可读写属性,用于在代码运行时设置是否显示并启用封装的快捷过滤功能(默认是显示),应用于原来就不支持列表查询的场景,赋值逻辑放在Form_load的开始。如:库存单据的“关联单据”功能。2) PageDivState:列表新增的可读写属性,用于在代码运行时设置是否显示并启用封装的翻页功能(默认是显示),应用于原来就不支持列表翻页的场景,赋值逻辑放在Form_load的开始。如:库存单据的“批号”参照录入功能。3) IsSelectAll:列表新增的仅可写属性,用于在代码运行时设置是否显示并启用列表左上角的全选/全消功能(默认是显示),应用于原来就不支持列表全选/全消的场景,赋值逻辑放在Form_load的开始。如:售后服务的“服务协议列表”的选择功能。4) ShowAll:列表新增的方法,用于在代码运行时显示全部列表数据,同时保持各分页参数不变。应用于列表数据依然分页显示,但有批量处理所有列表数据的功能。如:库存单据列表的“批量输出”功能。5) SelectAll:列表新增的事件,用于在通过列表控件(V11.0)左上角的全选/消功能时响应使用列表控件的父对象(窗体)的操作。应用于多列表间的联动或列表各行间的约束处理等情况,如:库存模块提供的参照生单公共服务(双列表)、整单预留(五列表)。代码示例如下lliang_2011-12-01_新单据列表:Private Sub ctlVouchListHead_SelectAll(ByVal Selected As Boolean, IsOverWrite As Boolean)/ 参数说明:Selected 是返回列表控件全选、全消动作; / IsOverWrite 是接受父对象(窗体)是否需要重写列表控件的全选、全消功能. IsOverWrite = True If Selected Then CTBCtrl1_OnCommand enumButton, tlbSel, Else CTBCtrl1_OnCommand enumButton, tlbUnSel, End IfEnd Sub6) GetListPartHeight:列表新增的方法,用于在代码运行时获取列表控件里各区域的高度,入口参数section 分别代表 0:快捷过滤, 1:GridBody, 2:翻页控件。应用于列在窗体显示时隐藏上/下边界区域或其他需要获取列表控件各区域具体高度的场景。如质量追溯查询列表7) 列表控件(V11.0)的行记录背景色间隔显示支持手工设置。列表控件新增一可读写属性(AlternateBackColor)用于手工设置列表的行记录间隔背景色,0 代表不设置。8) “合计值”显示区域还支持用户自定义的列表信息显示。列表控件新增一可读写属性(ListCustomShortInfo)用于手工设置用户自定义的简短列表信息。9) 进入列表时快捷过滤支持直接调用模拟“查询”功能的接口: SimpleFilter;直接模拟“高级查询”功能的接口:MoreFilter10) 获取列表记录对应单据主键值记录集接口:GetPKeyFldList(bSelect,sVouchKeyName)bSelect参数:设置是否选择的记录行; sVouchKeyName 可选返回参数:返回当前列表对应的单据主键字段名称;11) 除单据列表界面外其他用到列表控件的界面(如:参照生单界面、整单预留界面等等)的布局及操作流程保持原样,本版不作要求。如有需要,具体方案需要对应需求与UE负责人确认提供。12) 自定义的“(高级)查询”、WEB页面上的列表以及其他所有原来没有使用列表控件而以列表形式展现数据的界面 都需要业务组根据新版UE规范(见图1)自行同步处理。如下:图2另:功能菜单在当前模块但功能的实现在其他模块的列表界面要积极推动处理;除单据列表界面外其他用到列表控件的界面(如:参照生单界面、整单预留界面等等)的布局及操作流程暂保持不变。具体方案需要UE组与相关模块的需求确认最终方案后再作进一步处理。其中:“参照生单”这类公共服务,由此公共服务对应的的提供方列表控件(V11.0)即可,业务组使用“参照生单”服务无需处理,如有特殊使用场景即时反馈双方协商解决。13) SuperGrid替换为VouchList 操作步骤【可选项】1) 定义过滤和栏目设置,需将原来代码初始化的栏目转换为Meta库AA_ColumnDic_basePrivate objFilter As New UFGeneralFilter.FilterSrvPrivate m_oColSet As New U8ColumnSet.clsColSet2) Form_Load里初始化Dim strErrorRes As String If objFilter.InitBaseVarValue(m_Login, , 05, SA, ) Then Call VouchList1.InitFlt(m_Login, objFilter, , , , strErrorRes) sWhere = 1=2End If3) SuperGrid_CellDataCheck事件替换为VouchList_CellValueChanged,其中参数对照ByVal C As Long = ByVal Col As IntegerByVal r As Long = ByVal row As IntegerRetValue As String = NewValue As VariantRetState = dbCandel = NewValue = OldValue4) SuperGrid _RowColChange事件替换为VouchList_RowColChange5) 对m_oColSet初始化赋值及单据列表数据装载Private Sub GetDatas()注意要先设置VouchList1.SetVchLstRst,再进行VouchList1.InitHead,否则不能显示列表前选择checkbox Dim strColFormatXml As String m_oColSet.IsNotIncludeExtendField = True m_oColSet.Init m_Login.UfDbName, m_Login.cUserId Call m_oColSet.setColMode(SettlePrice, 0) ”SettlePrice”为Meta库AA_ColumnDic_base中的栏目 strColFormatXml = m_oColSet.getColInfo() VouchList1.FillMode = FillOverwrite VouchList1.SumStyle = vlRecordAndGridsum Dim red As New ADODB.Recordset Dim strSQL As String strSQL = SELECT * FROM Sales_DXFH_T where & sWhere red.ActiveConnection = DBConn red.CursorLocation = adUseClient red.Open ConvertSQLString(strSQL), , adOpenForwardOnly, adLockReadOnly Me.VouchList1.SetVchLstRst red VouchList1.RecordCount = red.RecordCount VouchList1.InitHead strColFormatXml red.Close Set red = Nothing End Sub6) VouchList快速查询按钮事件Private Sub VouchList1_FilterClick(fldsrv As Object) sWhere = ConvertFilter(fldsrv) GetDatasEnd Sub后的效果图:图314) HiddenRefreshView:列表新增的只写属性,用于在代码运行时设置是否显示并启用列表控件自身的刷新功能(默认是不显示,单据列表界面如果显示需要在显式设置一下该属性,其他用到列表控件的界面默认不显示“刷新”),

温馨提示

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

评论

0/150

提交评论