当复选框为 True 时突出显示行
在您的 jqGrid 项目中,您的目标是根据复选框的状态突出显示行。
罗瓦特回调
jqGrid 4.3.2 版本引入了 rowattr 回调,它允许您在网格填充过程中向行添加自定义属性。这是行突出显示的合适方法。
rowattr: function (rd) { if (rd.GroupHeader === "1") { // Verify this logic based on your data structure return {"class": "myAltRowClass"}; } }
用于突出显示的 CSS 类
定义一个 CSS 类 myAltRowClass,用于设置突出显示的行的背景颜色。
多选和gridview
对于不选择行的行突出显示,省略 multiselect: true。要提高性能,请启用 gridview: true。
列模板的使用
要简化代码,您可以使用列模板:
cmTemplate
cmTemplate: {align: 'center', sortable: false, editable: true, width: 80}
自定义模板
为常用属性创建自定义模板:
var myCheckboxTemplate = { formatter: 'checkbox', edittype: 'checkbox', type: 'select', editoptions: {value: "1:0"} }; var myTextareaTemplate = { edittype: "textarea", editoptions: {size: "30", maxlength: "30"} };
优化colModel
colModel: [ {name: 'TypeID', index: 'TypeID', width: 350, hidden: true, edittype: "select", editoptions: {value: getTypeID()}, editrules: { edithidden: true}}, {name: 'Order1', index: 'Order1', template: myTextareaTemplate}, {name: 'Order2', index: 'Order2', template: myTextareaTemplate}, {name: 'Order3', index: 'Order3', template: myTextareaTemplate}, {name: 'Description', index: 'Description', width: 140, template: myTextareaTemplate}, {name: 'Notes', index: 'Notes', width: 120, template: myTextareaTemplate}, {name: 'Measure', index: 'Measure', template: myTextareaTemplate}, {name: 'UnitPrice', index: 'UnitPrice', width: 100, editable: false, template: myTextareaTemplate}, {name: 'Remarks', index: 'Remarks', width: 140, template: myTextareaTemplate}, {name: 'UnitCost', index: 'UnitCost', width: 100, template: myTextareaTemplate}, {name: 'Service', index: 'Service', width: 120, template: myTextareaTemplate}, //If the GroupHeader is true the row background is yellow {name: 'GroupHeader', index: 'GroupHeader', width: 100, template: myCheckboxTemplate}, {name: 'IsGroup', index: 'IsGroup', template: myCheckboxTemplate} ], cmTemplate: {align: 'center', sortable: false, editable: true, width: 80}
以上是如何根据复选框状态突出显示 JqGrid 中的行?的详细内容。更多信息请关注PHP中文网其他相关文章!