请问怎么动态改变展示列的数量啊?
easyui吧
全部回复
仅看楼主
level 1
如 : 第一次加载时展示五列,
第二次我点击搜索后展示三列。
我看api是这样的,但实际上我操作没有任何变化。五列还是五列,也没提示错误
$(function(){
$('#tt').datagrid({
columns:[[
{field:'itemid',title:'Item ID',width:80},
{field:'productid',title:'Product ID',width:80},
{field:'attr1',title:'Attribute',width:200},
{field:'status',title:'Status',width:80}
]]
});
});
function changecolumn(){
$('#tt').datagrid({
columns:[[
{field:'itemid',title:'Item ID',width:80},
{field:'productid',title:'Product ID',width:80},
]
});
}
2013年11月15日 06点11分 1
level 6
这个还真没研究过
你可以试试 当点击的时候 datagrid清空列 重新生成
2013年11月17日 00点11分 2
level 1
好的,
showColumn field 显示指定的列。
hideColumn field 隐藏指定的列。
2013年11月22日 03点11分 3
level 1
我不是本吧的成员,但是我知道...嘿嘿...
以下是我的代码... 都是本人自己想出来的,给好评哦,亲~
好了 我就不卖萌了... 直接上代码 有不懂的,可以艾特我
//创建column
function createColumn(title,field,width,height,formatterResult,colspan,rowspan,hidden,editType){
var obj = new Object();
if(title) obj.title = title;
if(field) obj.field = field;
if(width) obj.width = width;
if(height) obj.height = height;
if(colspan) obj.colspan = colspan;
if(rowspan) obj.rowspan = rowspan;
if(hidden) obj.hidden = hidden;
if(formatterResult){
obj.formatter = function(v,r){
if(v) return v;
return formatterResult;
}
}
if(editType){
var editObj = new Object();
editObj.type = editType;
}
obj.editor = editObj;
return obj;
}
//创建columns对象
function createColumnObject(setupCounts){
var columns = new Array();
var columnOnes = new Array();
var columnTwos = new Array();
var columnThrees = new Array();
//设置第一行
columnOnes.push(createColumn("常规信息","","","","",3,2,"",""));
columnOnes.push(createColumn("室内温度","","","","",2,2,"",""));
columnOnes.push(createColumn("冰包温度","","","","",2,2,"",""));
for(var i =1;i<=setupCounts;i++){
var num = "0";
if(i<=9) {
num = "0" + i;
}else{
num = i+"";
}
columnOnes.push(createColumn("设备"+num,"","","","",4,"","",""));
}
columns.push(columnOnes);
//第二行
for(var i =1;i<=setupCounts;i++){
columnTwos.push(createColumn("冷冻温度","","","","",2,"","",""));
columnTwos.push(createColumn("冷藏温度","","","","",2,"","",""));
}
columns.push(columnTwos);
//第三行
columnThrees.push(createColumn("","entityId","","","","","",true,""));
columnThrees.push(createColumn("运转日期","roundDate",100,"","","","","",""));
columnThrees.push(createColumn("记录员","recoder",100,"","","","","","text"));
columnThrees.push(createColumn("备注","remark",100,"","","","","","text"));
columnThrees.push(createColumn("上午","morning",100,"","-----","","","","text"));
columnThrees.push(createColumn("下午","afternoon",100,"","-----","","","","text"));
columnThrees.push(createColumn("最高","hightest",100,"","-----","","","","text"));
columnThrees.push(createColumn("最低","lowest",100,"","-----","","","","text"));
for(var i =1;i<=setupCounts;i++){
columnThrees.push(createColumn("上午","m1"+i,100,"","-----","","","","text"));
columnThrees.push(createColumn("下午","a1"+i,100,"","-----","","","","text"));
columnThrees.push(createColumn("上午","m2"+i,100,"","-----","","","","text"));
columnThrees.push(createColumn("下午","a2"+i,100,"","-----","","","","text"));
}
columns.push(columnThrees);
return columns;
}
//datagrid创建(在$()里面的)
$("#codeChainGrid").datagrid({
iconCls:'icon-monitor',
url:'冷链运转.json',
pageNumber:1,
nowrap: false,
collapsible:true,
method:'get',
height:h-100,
width:(w*0.98),
fitColumns: false,
remoteSort: true,
idField:'entityId',
singleSelect:false,
pagination:false,
columns:createColumnObject(1),
toolbar:[{
id:'btnadd',
text:'保存',
iconCls:'icon-save',
handler:function(){
$.messager.alert("提示","保存成功!","info");
}
}],
onClickCell:function(rowIndex, field, value){
$('#codeChainGrid').datagrid('beginEdit', rowIndex);
$('#codeChainGrid').datagrid('endEdit', lastIndex);
lastIndex = rowIndex;
}
});
//这个是修改column数的,就是动态改变code的值就行
$("#codeChainGrid").datagrid({
columns:createColumnObject(code)
})
代码可能不太全,你酬和着看吧,一定可以解决你的问题,我也是有问题请教才来贵吧,希望我的问题可以解决
我的问题传送:
https://tieba.baidu.com/p/2818001534
拜托了...
2014年01月16日 13点01分 4
level 6
首先function changecolumn(){
$('#tt').datagrid({
columns:[[
{field:'itemid',title:'Item ID',width:80},
{field:'productid',title:'Product ID',width:80},
]//这里少了个]
});
}所以不会刷新,加上去的话应该会从5列变2列,这是直接替换,不是添加,
你应该把那五行都写上
2014年04月02日 05点04分 5
1