jqgrid:多选复选框值

时间:2016-09-26 18:56:37

标签: jquery jqgrid

当我将multiselect: true添加到我的jqgrid时,我看到jqgrid为每一行添加了一个复选框。显示的每个复选框都是未选中的。有没有办法根据我用来填充网格的数据预设这些复选框?例如,如果我的网格有一个名为 selected 的列,而我正在显示的行的选择值 1 ,我想显示该复选框行被检查。如果某行的所选字段为 0 ,我希望将该复选框保持为未选中状态。这可能吗?

3 个答案:

答案 0 :(得分:1)

你问题的答案取决于你使用的jqGrid的分支。我开发了免费的jqGrid fork并实现了multiPageSelection: true选项。只需要填充selarrrow数组(例如,您可以根据服务器返回的数据在beforeProcessing内部)。查看为the demo创建的the answer。它显示selarrrow数组包含的ID与当前页面相同。在分页或初始填充期间,免费jqGrid 根据selarrrow数组设置chechboxes 的状态。它的工作方式非常有效,如自定义格式化程序,rowattrcellattr

如果您无法升级到免费的jqGrid,则可以在setSelection内拨打loadComplete(请参阅the old answer)。 multiPageSelection: true时效果会更慢,但效果会很好。

答案 1 :(得分:1)

loadComplete中,有类似的内容

var i;
var rowids = $('#myTable').jqGrid('getDataIDs');
for (i = 0;i < count = rowids.length;i+=1) {
    // condition to mark it check
    $('#myTable').jqGrid('setSelection', rowids[i], false);
}

干杯!

答案 2 :(得分:0)

您需要循环访问数据并应用检查。