jQuery MiniUI

 找回密码
 立即注册
查看: 3042|回复: 6
打印 上一主题 下一主题

datagrid columns参数 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-9-16 10:23:05 |只看该作者 |倒序浏览
在demo的弹出面板中,弹出选择表格(JS),如何修改里面的UserSelectWindow.js方法?重载性更好呢?里面有一个表格,表格中有列,我想把列设置成动态添加,即设置一个columns属性,然后从外面去设置

var win = new UserSelectWindow();
            win.set({
                url: bootPATH + "../demo/data/AjaxService.jsp?method=SearchEmployees",                    
                title: "用户选择",
                width: 600,
                height: 350,
                columns:[{}]//比如这里设置了列,那么js里面即这几列。
            });

            win.show();
            win.search();


问,如何修改js?即如何把columns当作参数传进去呢?传进去后,如何解析列,设置到里面的grid中?

Rank: 2

沙发
发表于 2013-9-16 10:55:34 |只看该作者
额。。。。。。。。木有人会么?

Rank: 2

板凳
发表于 2013-9-16 11:04:56 |只看该作者
在js里面加一个data(变量名:值)

Rank: 2

地板
发表于 2013-9-16 11:12:22 |只看该作者
ShowGridWindow = function () {
        ShowGridWindow.superclass.constructor.call(this);
    this.initControls();
    this.initEvents();
}
mini.extend(ShowGridWindow, mini.Window, {
    url: "",
    keyField: "key",
    multiSelect: false,
   //这边如何加?columns:value,?
   
    title: "选择用户",
    keyLable: "名称:",
    searchLable: "查询:",
   
    width: 580,
    height: 320,
    bodyStyle: "padding:0;",
    allowResize: true,
    showModal: true,
    showToolbar: true,
    showFooter: true,
    initControls: function (){
        this.grid = new mini.DataGrid();
      
        this.grid.set({
            multiSelect: this.multiSelect,
            style: "width: 100%;height: 100%;",
            borderStyle: "border:0",
            columns://这里怎么写啊
            //columns: [
             //   { type: "checkcolumn", header: "#" },
            //{ type: "indexcolumn", header: "#", headerAlign: "center" },
             //   {header: "帐号", field: "loginname" },
            //    { header: "姓名", field: "name" }
            //]
        });
        this.grid.setUrl(this.url);
        this.grid.render(bodyEl);


//JSP中,我设置列想写成这样的
columns: [
      { type: "checkcolumn", header: "#" },
      { type: "indexcolumn", header: "#", headerAlign: "center" },
      {header: "帐号", field: "loginname" },
      { header: "姓名", field: "name" }
   ]

Rank: 8Rank: 8

5#
发表于 2013-9-16 11:29:19 |只看该作者
给你的window加上columns属性,然后内部的this.grid的columns,设置为该window的columns

类似该 userselectwindow的searchLable这个属性,该属性也是自定义的,原来的window是没有的

Rank: 2

6#
发表于 2013-9-16 11:36:14 |只看该作者
mini.extend(ShowGridWindow, mini.Window, {
    url: "",
    keyField: "key",
    multiSelect: false,
   //这边如何加
   columns://这个属性我知道,就是不知道值怎么写:后面怎么写就不知道了
   
    title: "选择用户",
    keyLable: "名称:",
    searchLable: "查询:",
....

  this.grid.setColumns(this.columns);然后里面是这么设置的嘛。

jsp页面中呢?
var win = new ShowGridWindow();
            win.set({
                url: "../../../hld?t=list",                    
                title: "数据列表",
                width: 600,
                height: 350,
                showToolbar:false,
                showFooter:false,
                columns: [{ type: "indexcolumn" },{ type: "checkcolumn" },
                                { header: "类型", field: "type", width: 100 }
                ]
我想这样写,还是要怎么写?

Rank: 8Rank: 8

7#
发表于 2013-9-16 13:20:40 |只看该作者
liangzhl 发表于 2013-9-16 11:36
mini.extend(ShowGridWindow, mini.Window, {
    url: "",
    keyField: "key",

columns:[]

然后加上
setColumns:function(columns){
   this.columns = columns;
}
前台直接给个columns数组

Archiver|普加软件

GMT+8, 2024-11-16 15:43 , Processed in 1.052941 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部