GridControl 控件指南

  • GridControl是AVEVA封装的一个内置的列表控件,其效果类似于C#里的grid控件。这样就可以在PML里面实现列表的功能,其功能要远远强于普通的LIST控件,当然其实现也比较复杂。

    前置条件
    导包
    需要在使用前,将DLL文件加载到内存中。
    import GridControl
    import Aveva.Pdms.DataManagement.PML
    12
    窗体定义
    FRAME .frmPipe 管线清单
     using namespace Aveva.Pdms.Presentation
     CONTAINER .conPipeGrid pmlnetControl pipegrid dock fill Width 50 Height 12
     exit
    1234
    最好用一个frame将grid控件包含在里面。需要加入命名空间。由于gridcontrol是C#控件,因此他的对象类型必须是CONTAINER。需要在窗体中定义一个全局变量,用于绑定该控件。member .pipeGrid is NetGridControl
    构造函数
    需要在窗体的构造函数里面,绑定控件的句柄。这也是PML和C#交互的必要条件。
    using namespace Aveva.Pdms.Presentation
    !this.pipeGrid = object NetGridControl()
    !this.conPipeGrid.Control = !this.pipeGrid.handle()
    123
    绑定数据
    using namespace Aveva.Pdms.Presentation
    !head[1] = Name
    !head[2] = Sex
    !content[1][1] = 张三
    !content[1][2] = 男
    !content[2][1] = 李四
    !content[2][2] = 女
    !nds = object NetDataSource(Pipe List, !head, !content)
    !this.pipeGrid.BindToDataSource(!nds)
    123456789
    grid的title是第二个参数,必须为数组。该参数为可选。grid的内容是第三个参数,必须是一个二维数组。第三个参数可以是一个读取自excel的file对象。
    绑定事件
    gridcontrol控件,也支持事件,这些事件以委托的方式实现PML与C#的交互。
    右键事件
    定义MENU
    这里和普通的PML弹窗没有多大的差异。
    MENU .pipeGridPopup Popup
    !this.pipeGridPopup.Add(Callback, 检查, !this.checkPipe())
    !this.pipeGridPopup.Add(Callback, 强制通过, !this.forcePass())
    123
    绑定句柄
    !this.pipeGrid.AddEventHandler(OnPopup, !this, eventConPipeGridRightClick)
    1
    第一个参数OnPopup表明是右键事件。第二个参数是固定写法。第三个参数,是右键的弹出事件。注意这个方法没有()
    注册事件
    define method .eventConPipeGridRightClick(!data is ARRAY)
     !this.conPipeGrid.Popup = !this.pipeGridPopup
     !this.conPipeGrid.ShowPopup(!data[0], !data[1])
    endmethod
    1234
    选择后事件
    绑定句柄
    !this.pipeGrid.AddEventHandler(AfterSelectChange, !this, eventConPipeGridAfterSelectChange)
    1
    注册事件
    define method .eventConPipeGridAfterSelectChange(!data is ARRAY)
     q var !data[0]
    endmethod
    123
    这里!data是用户选择的,下标是从0开始的行号数组,如果grid是单选,则该数组永远只有一个元素。
    属性
    属性说明备注!this.pipeGrid.ColumnExcelFilter(true)是否开启表格头部的筛选功能!this.pipeGrid.FixedHeaders(true)是否固定表格头部!this.pipeGrid.FixedRows(false)是否固定行数!this.pipeGrid.ColumnSummaries(true)是否在表格的下方汇总行数!this.pipeGrid.SingleRowSelection(false)表格是单选还是多选!this.pipeGrid.HideGroupByBox(true)是否开启分组排序功能
    方法
    GET
    方法返回值备注getSelectedRows()二维数组获取选择的行的数据getRow(real row)一维数组获取指定行的数据getCell(real row, real column)string获取指定单元格的值getRows()二维数组获取grid的所有数据
    SET
    方法返回值备注setCellImage(real row, real column, string imagePath)设置指定单元格的图片SetColumnWidth(real column, real width)设置列的宽度getCell(real row, real column)string获取指定单元格的值
    操作
    方法返回值备注ClearGrid()清除grid的所有数据(包括表头和数据)SaveGridToExcel(FILE file)将grid的数据,导出生成一个外部excel文件

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空