jQuery MiniUI

标题: miniui动态列设置问题 [打印本页]

作者: rxin    时间: 2016-7-26 17:56:43     标题: miniui动态列设置问题

我想自己设置动态列,但是grid.setColumns()方法和grid.set({columns: column})并没有起作用。求帮忙解决。

作者: felt    时间: 2016-7-27 09:27:59

http://www.miniui.com/demo/#src=datagrid/setcolumns.html
参考示例
作者: rxin    时间: 2016-7-27 10:46:51

felt 发表于 2016-7-27 09:27
http://www.miniui.com/demo/#src=datagrid/setcolumns.html
参考示例

因为我的那个列的信息是自己通过后台获取拼接成的字符串。整体代码如下:
<div class="mini-fit">
  <div id="datagrid1" class="mini-datagrid" style="width:100%;height: 100%;"
       url="${pageContext.request.contextPath}/${ moduleName}/getData"  idField="qryId"
       allowResize="true" pageSize="10"
       allowCellEdit="true" allowCellSelect="true" multiSelect="true"
       editNextOnEnterKey="true"  editNextRowCell="true"
       onselectionchanged="selectionChanged"
       contextMenu="#gridMenu"
          >
  </div>
</div>

<script type="text/javascript">

  mini.parse();
  var grid = mini.get("datagrid1");

  var columns = '[{ type: "checkcolumn",width:25 },{ type: "indexcolumn",width:30,headerAlign:"center",header:"序号"}';

  //获取需要显示的列
  app.get(context_ + "/admin/manager/defaultquery/getShowColumn",{userId:"123456789"},function(data) {
    data = $.parseJSON(data);
    var msg = $.parseJSON(data.msg);
    $.each(msg,function(index,item){
      var temp = ',{field:"'+item+'",width:120,headerAlign:"center", allowSort:true, header:"' +item+'"}';
      columns = columns+temp;
    });
    columns = columns+']';
    grid.set({columns:columns});
    grid.setColumns(columns);
  });

拼接出来的columns的json如下:
[{ type: "checkcolumn",width:25 },{ type: "indexcolumn",width:30,headerAlign:"center",header:"序号"},{field:"CLASS_ID",width:120,headerAlign:"center", allowSort:true, header:"CLASS_ID"},{field:"QRY_ID",width:120,headerAlign:"center", allowSort:true, header:"QRY_ID"},{field:"QRY_NAME",width:120,headerAlign:"center", allowSort:true, header:"QRY_NAME"},{field:"QS_TYPE",width:120,headerAlign:"center", allowSort:true, header:"QS_TYPE"},{field:"SET_TYPE",width:120,headerAlign:"center", allowSort:true, header:"SET_TYPE"},{field:"CREATE_USER",width:120,headerAlign:"center", allowSort:true, header:"CREATE_USER"}]
但是页面上表头信息并不显示,也没有报错。
作者: rxin    时间: 2016-7-27 11:08:43

rxin 发表于 2016-7-27 10:46
因为我的那个列的信息是自己通过后台获取拼接成的字符串。整体代码如下:

  

谢谢。已经解决。加上grid.set({columns:mini.decode(columns)});就可以了
作者: rxin    时间: 2016-7-27 11:24:06

rxin 发表于 2016-7-27 11:08
谢谢。已经解决。加上grid.set({columns:mini.decode(columns)});就可以了

我想问下,能不能为表头加按钮图标之类的。如果可以,怎么添加的额
作者: felt    时间: 2016-7-27 11:28:25

rxin 发表于 2016-7-27 11:24
我想问下,能不能为表头加按钮图标之类的。如果可以,怎么添加的额

可以放html元素
<div field="xx" width="200" >111111<a class="icon-add" style="width:16px;height:16px;display:inline-block"></a>
  </div>
作者: rxin    时间: 2016-7-27 11:40:57

felt 发表于 2016-7-27 11:28
可以放html元素
111111

我想插入自己拼接的json字符串里面。比如在下面的表头信息中插入。请问下,该怎么做的额
[{ type: "checkcolumn",width:25 },{ type: "indexcolumn",width:30,headerAlign:"center",header:"序号"},{field:"CLASS_ID",width:120,headerAlign:"center", allowSort:true, header:"CLASS_ID"}
...
]
作者: felt    时间: 2016-7-27 13:01:51

rxin 发表于 2016-7-27 11:40
我想插入自己拼接的json字符串里面。比如在下面的表头信息中插入。请问下,该怎么做的额
[{ type: "check ...

header:"aaaa<a...........></a>
作者: rxin    时间: 2016-7-27 13:59:43

felt 发表于 2016-7-27 13:01
header:"aaaa

请教下,那个拼接问题的额。
var columns = '[{ type: "indexcolumn",width:30,headerAlign:"center",header:"序号<a >增</a>"}';
这样是可以的,但是我想为那个增添加onclick事件(onclick="addColumn()"),该怎么拼接进去的。
作者: felt    时间: 2016-7-27 14:12:27

rxin 发表于 2016-7-27 13:59
请教下,那个拼接问题的额。
var columns = '[{ type: "indexcolumn",width:30,headerAlign:"center",hea ...

序号<a onclick='addColumn()'>增</a>
你在html里面怎么放,这里拼进去就是了
作者: rxin    时间: 2016-7-27 14:31:00

felt 发表于 2016-7-27 14:12
序号增
你在html里面怎么放,这里拼进去就是了

非常感谢。还有一个问题就是,我如何获取当前列的表头名称呢
作者: felt    时间: 2016-7-27 15:16:03

本帖最后由 felt 于 2016-7-27 16:01 编辑
rxin 发表于 2016-7-27 14:31
非常感谢。还有一个问题就是,我如何获取当前列的表头名称呢

addColumn(参数) 你可以放个参数进去
另外 请一次性说清楚你的一系列问题


作者: rxin    时间: 2016-7-27 15:31:44

本帖最后由 felt 于 2016-7-27 16:01 编辑
felt 发表于 2016-7-27 15:16
addColumn(参数) 你可以放个参数进去
另外 请一次性说清楚你的一系列问题

谢谢。麻烦了




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2