grid可以在onCellRender中把某列渲染显示为按钮
在某些情况下可能需要根据其他关系的值判断显示不同的按钮,并再其他关系的值改变的时候也动态的去修改渲染显示的按钮,这样只在onCellRender中处理时不够的,
需要在data的onValueChange或者onValueChanged事件中去触发grid的刷新,使其重新渲染
如下:
根据fXB的值设置relation0列显示不同的按钮在onCellRender中的处理:
Model.prototype.grid1CellRender = function(event){ var fxb = event.row.val("fXB"); if (event.colName == "relation0"){ if(fxb == '0') event.html = "<button class='btn btn-default btnDel' xid='delbtn'>删除</button>"; else event.html = "<button class='btn btn-default btnNew' xid='delbtn'>新增</button>"; } };
当fXB的值改变时显示的按钮也要改变在data的onValueChanged如下处理:
Model.prototype.mainDataValueChanged = function(event){ if(event.col == 'fXB') this.comp("grid1").refresh(); };
评一波