grid中要显示radio需要跟显示button同样的设置,在onCellRender中设置,event.html中按照html中的radio设置

需要注意的是radio中name的属性值不要设置为固定值,设置为固定的值grid中所有行的都是一个值控制了,可以用行ID控制

本案例是用radio显示性别男女,默认的data中列的值是1勾选女,值是0勾选男,否则就都不选择,在radio改变的时候(onchange事件中)去设置修改data中列的值

具体实现如下:


Model.prototype.grid1CellRender = function(event) {
if (event.colName == 'fXB') {

if (event.colVal == 1)
event.html = "<input name='" + event.rowID + "' type='radio' value='1' checked onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>女" + "<input name='"
+ event.rowID + "' type='radio' value='0' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>男";

else if (event.colVal == 0) {

event.html = "<input name='" + event.rowID + "' type='radio' value='1' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>女" + "<input name='" + event.rowID
+ "' type='radio' value='0' checked onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>男";
}

else
event.html = "<input name='" + event.rowID + "' type='radio' value='1' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>女" + "<input name='" + event.rowID
+ "' type='radio' value='0' onchange='justep.Util.getModel(this).sexChange(\"" + event.rowID + "\")'/>男";

}
};

Model.prototype.sexChange = function(rowid) {
var data = this.comp("bizData1");
var radioValue = $("input[name='" + rowid + "']:checked").val();//获取raido勾选的值

data.setValue("fXB", radioValue, data.getRowByID(rowid));//跟具体的data中列赋值
}