首页 > 其他 > 详细

硕正控件默认会自动加载数据

时间:2019-11-21 18:16:15      阅读:120      评论:0      收藏:0      [点我收藏+]


硕正控件 autoLoad 页面加载时是否自动加载表格数据 默认true,如果自己需要根据页面条件查询数据  建议设置为false  自己去查询加载数据。

硕正表格控件API


 

属性

属性的定义, 例如:

<div class="treelist" objid="grid"
    builder="t1.xml"
    url="data.do">
</div>

在上面的例子中, 除class为自动初始化控件的标识以外, objid、 builder、 url 都是表格的初始化属性。

下面是所有属性列表:

  • objid

    浏览器将以objid的值为变量名创建一个全局变量指向该表格。

    该属性是可选的。

    例:

    <div class="treelist" objid="grid"></div>

    在上面的例子中, 表格的 objid 为 grid , 在表格初始化完成之后, 在js中就可以用 grid 来访问表格了。

  • builder

    builder 是一个字符串, 它指向一个 xml 文件, 这个文件描述了表格的属性和列数据,

    例如:

    builder="${pageContext.request.contextPath}/xml/scgrid/netbank/test.xml"

    对于一个表格来说, builder 和 url 两个属性是必不可少的,

    注意创建 xml 文件时, 其存放路径应在 /xml/scgrid/ 下与模块同名的目录中,

    关于 xml 的详细配置, 请参考Builder规则

  • url

    url 是一个 action 的地址, 这个 action 接受表格的查询请求, 输出表格所需的数据。

    此项也是必填的。

  • bBar

    设置 bBar="default" 显示分页条,

    设置 bBar="" 或删除该属性则不显示分页条

  • height

    表格高度, int型, 不要带单位符号。

    当 height 属性有值且不为 0 时, autoHeight 属性失效。

  • autoHeight

    autoHeight默认为true,

    表格会自动适应页面高度, 并且将页面滚动条隐藏掉, 假如不希望页面滚动条被隐藏, 可设置 noPageScroll="false"

  • noPageScroll

    默认为true,

    隐藏body的滚动条, 效果与 $("body").css("overflow", "hidden") 相同

  • queryForm

    一个 jquery 选择器, 指向一个 form, 例如: queryForm="#form1"

    绑定了 queryForm 以后, 表格每次刷新(refresh)时都会带上该 form 里的数据提交到服务器端。

    假如该 form 中有 type="submit" 的按钮, 则不需要再指定 queryButton。, 则该按钮会自动成为 queryButton。

  • queryButton

    一个 jquery 选择器, 指向一个按钮, 例如: queryButton="#btn1"

    这会绑定一个按钮, 点击该按钮会触发表格的 refresh(刷新)动作。

    假如queryForm 中存在 type="submit" 的按钮, 则不需要再指定 queryButton。

  • isRemoteSort

    true 或 false, 默认为 true,

    是否进行服务器端排序。

  • checkForm

    一个函数, 点击 queryButton 时被调用, 假如返回 false 则会取消表单刷新的动作。

    例:

    <script>
        function doCheck(){
            if(xyz){
                return false;
            }else{
                return true;
            };
        }
    </script>
    
    <div class="treelist" objid="grid"
        builder="t1.xml"
        url="data.do"
        checkForm="doCheck"
        >
    </div>
  • autoLoad

    页面加载时是否自动加载表格数据, 默认为true

  • checkbox

    是否显示复选框,

    可以是 true 或 false 或者一个函数,

    如果是一个函数的话, 在函数中返回 true 或 false,

    例如:

    <script>
        function showCheckbox(index, row){
            if(row.xxx){
                return false;
            }else{
                return true;
            };
        }
    </script>
    
    <div class="treelist" objid="grid"
        builder="t1.xml"
        url="data.do"
        checkbox="showCheckbox"
        >
    </div>
  • formatter

    formatter 是一个函数, 它在表格每次加载完数据以后被调用,

    formatter 对表格性能影响较大, 请尽量不要使用, 可尝试通过在builder.xml中实现相同的效果。

    formatter例子:

        function gridFormatter(index, row){
            // index 为行号, row 为行数据
            this.setLink(index, "country");
            this.method("SetCellText", index, "shipname", row.shipname + ‘号‘);
        }
        <div objid="grid" class="treelist"
            builder="test.xml"
            url="test.do"
            formatter="gridFormatter">
        </div>
  • allowUserConfig

    个性化布局默认是启用的, 也就是说 allowUserConfig="true" 是可以不写的。

    假如你希望表格不记忆个性化布局的话, 可以设置: allowUserConfig="false"

    个性化布局DEOM:

  • 通过参数allowUserConfig参数启用“个性化记忆布局”功能, 在页面被刷新或者被关闭时, 自动将表格的显示列、列顺序、宽度等信息保存到数据库中, 下次该用户再打开此页面时将看到与上次同样的布局。
    用户在其它电脑登录也可看到上次登录的布局。
    该参数默认不启用, 如需启用需要在标签中加上: allowUserConfig="true"
    用户如希望还原到原始的布局, 可以点击右键“恢复默认布局”。


    HTML代码:
    <div objid="t1" class="treelist"
        builder="t1.xml"
        bbar="default"
        allowUserConfig="true"
        url="data.do">
    </div>
    
    <!--引用控件库>
    <script src="${pageContext.request.contextPath}/js/fn/1.5/fn.js?use=widget/supcan"></script>
    

事件

事件的定义跟属性类似。

注意函数名后面不要加括号。

例:

<div class="treelist" objid="grid"
    builder="t1.xml"
    url="data.do"
    onLoad="showMessage">
</div>
<script>
    function showMessage(){
        alert("treelist is loaded");
    }
</script>
<script src="${pageContext.request.contextPath}/js/fn/1.5/fn.js?use=widget/supcan"></script>

注意: 事件所指的函数应该定义在

<script>fn.use("widget/supcan")</script>

或者

<script src="${pageContext.request.contextPath}/js/fn/1.5/fn.js?use=widget/supcan"></script>

之前, 否则在表格初始化时可能会因找不到函数而报错。


下面是所有事件列表:

  • onLoad

    控件初始化事件

  • onSort

    排序事件

  • onPager

    分页事件

  • onRefresh

    刷新事件

  • onSelChanged

    行被选择事件

  • onClicked

    单击事件

  • onDblClicked

    双击事件

  • onLooseFocus

    失去焦点事件

  • onRowsDeleted

    行被删除事件

  • onMenuBeforePopup

    右键菜单弹出前

  • onMenuClicked

    右键菜单点击事件

  • onChecked

    行被勾选事件

    参数:

    index: 被勾选或取消勾选的行id

    row: 被勾选或取消勾选的行data

    isChecked: true表示勾选, false表示取消勾选

方法

本节所介绍的方法,指的是我们封装的一些常用方法以及新增方法,除此之外还有更多的原生方法, 将在下一节介绍。

方法的调用示例:

<div class="treelist" objid="grid"></div>
<script>
    grid.refresh(); // 调用 refresh 方法

    grid.method("MoveRow", 13, 0); // 调用原生 MoveRow 的方法
</script>

下面是所有方法列表:

  • func

    调用表格的原生方法, 关于原生方法请参考“原生方法”一节。

    注意:建议使用 method 代替 func,

    参数:

    methodName: 方法名,

    argsStr: 参数, 如有多个参数则以\r\n分隔

    例:

    grid.func("MoveRow", "13\r\n0"); // 把第14行数据移至第一行前面
  • method

    功能与func一致, 但参数不以\r\n分隔而以逗号分隔,

    参数:

    methodName: 方法名,

    argsN: 第N个参数

    例:

    grid.method("MoveRow", 13, 0); // 把第14行数据移至第一行前面
  • refresh

    刷新表格中的数据

  • load

    加载一个数据对象,

    参数:

    data: 要加载的数据, 应该是一个 object 对象, 并且应该符合如下结构:

    {
        totalRows: 3,
        rows:[{},{},{}]
    }
  • getData

    取得表格中当前的数据,

    注意,取到的是一个格式如下的object对象:

    {
        totalRows: 3,
        rows:[{},{},{}]
    }
  • getDataByRowIndex

    根据行号获取行数据

    参数:

    index : 行号, 从 0 开始计算

    例如:

    var row = grid.getDataByRowIndex(0); // 取得第一行的数据
  • getSelectedRows

    取得当前选中的行的数据(复数), 返回值是一个数组

  • getCheckedRows

    取得当前勾选的行的数据(复数), 返回值是一个数组

    注意, 与 getSelectedRows 区分

  • getCheckedValues

    取得当前勾选的行的值(需指定field)

    参数:

    field: 要取值的字段名

    splitChar: 多个值之间的分隔符, 默认为,号

    返回值:

    一个字符串, 例如: "01,02,03"

  • deleteRows(exps):

    根据表达式删除行,

    参数:

    exps: 表达式

    例如:

    // 删除所有 country 为 Austria 的行
    grid.deleteRows("country=Austria");
  • deleteSelectedRows

    删除选中(点击选中)的所有行

  • deleteCheckedRows

    删除勾选(checkbox选中)的所有行

  • addMenu

    在右键菜单中加入一项,

    参数:

    text: 菜单文本,

    callback: 菜单点击事件,

    例:

    grid.addMenu("菜单文本", function(menuId, rowIndex, colName){
        alert("你在[" + rowIndex + "]行[" + colName + "]列的单元格上点击了id为[" + menuId + "]的右键菜单项");
    });
  • clearMenu

    清空右键菜单中新增的项

  • print

    打开打印对话框

  • printPreview

    打开打印预览对话框

  • save

    打开转换输出对话框

硕正控件默认会自动加载数据

原文:https://www.cnblogs.com/guangguangzai/p/11906981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!