- 注册时间
- 2012-11-15
- 最后登录
- 2023-6-10
- 阅读权限
- 10
- 积分
- 300
- 精华
- 0
- 帖子
- 75
|
felt 发表于 2015-12-14 09:34
grid.setColumns(columns)动态创建列
不清楚你的操作,请提供详细的代码 - mini.parse();
- var grid = mini.get("datagrid1");
- var fieldColumns = "";
- var ACCOUNTING_COMPANY = mini.get("ACCOUNTING_COMPANY");
- //grid.load();
- //createGrid();
- function Search()
- {
- grid.load({
- ACCOUNTING_COMPANY: ACCOUNTING_COMPANY.value
- });
-
- createGrid();
- }
- function createGrid() {
- //grid.setColumns("");
- $.ajax({
- url: "../COST_ACCOUNTING/AjaxService.ashx?method=GetSuppliers_Item&CATE_NODE_ID="+<%=CATE_NODE_ID %>+"&ACCOUNTING_COMPANY="+ACCOUNTING_COMPANY.value+"",
- type: "post",
- success: function (text) {
- //alert(text.split(",").length);
- fieldColumns += "{";
- fieldColumns += "field:'SALE_NO',width: 120," + 'headerAlign:"center",allowSort: true,' + 'align:"center",header:"订单编号"';
- fieldColumns += "},";
- fieldColumns += "{";
- fieldColumns += "field:'TOTAL',width: 120," + 'headerAlign:"center",allowSort: true,' + 'align:"right",currencyunit:"¥",datatype:"currency",header:"小计"';
- fieldColumns += "},";
- for (var i = 0; i < text.split(",").length; i++) {
- if (text.split(",")[i] != "") {
- fieldColumns += "{";
- fieldColumns += "field:'" + text.split(",")[i] + "',width: 120," + 'headerAlign:"center",currencyunit:"¥",datatype:"currency",allowSort: true,' + 'align:"right",header:"' + text.split(",")[i] + '"';
- fieldColumns += "},";
- }
- }
- fieldColumns = fieldColumns.substring(0, fieldColumns.lastIndexOf(","));
- //alert(fieldColumns);
- var colums = eval('([' + fieldColumns + '])');
- // alert(colums);
- grid.setColumns(colums);
- },
- error: function (jqXHR, textStatus, errorThrown) {
- alert(jqXHR.responseText);
- }
- });
- //grid.load();
- }
复制代码 代码是这么写的,现在的问题是当我改变搜索条件,返回的列也会不一样,但是再次动态创建列的时候,datagrid的列还是上次创建的列,并没有更新成最新获取的列
|
|