我在网页上使用了KoGrid,我选择了多行选择。因此,我的网格中添加了第一个复选框列。但是当我通过单击行选择KoGrid时,复选框被标记,但是当我单击复选框时,该行被选中但复选框为空。
我的KoGrid配置代码如下:
gridOptions = {
data: "Some Data",
columnDefs: [
{ field: 'TransactionId', displayName: 'Transaction ID' },
{ field: 'InvoiceNumber', displayName: 'Invoice Number' },
{ field: 'ContactName', displayName: 'Contact Name' },
{ field: 'Carrier', displayName: 'Carrier' },
{ field: 'InvoiceDate', displayName: 'Invoice Date' },
{ field: 'Amount', displayName: 'Amount' },
{ field: 'PaymentStatus', displayName: 'Payment Status' },
{ field: 'IsPastDue', displayName: 'Is Past Due', cellTemplate: '<label class="gridCheckBox"><input type="checkbox" data-bind="checked: $data.getProperty($parent)"></label></div>' },
{ field: 'DaysPastDue', displayName: 'Days Past Due' }
]
};
无法找到究竟是什么问题。
请帮忙。 感谢
答案 0 :(得分:1)
必须添加
return true;
在事件 afterSelectionChange 中添加的方法,如果添加了任何事件捕获方法,则在网格配置中添加以下内容。
afterSelectionChange: function(){ return true; }
如果我们不添加上述代码, afterSelectionChange 将返回未定义 复选框 的原因 取消选中 ,即使在选中行选项后也会选中复选框。
所以我的决赛看起来如下:
gridOptions = {
data: "Some Data",
columnDefs: [
{ field: 'TransactionId', displayName: 'Transaction ID' },
{ field: 'InvoiceNumber', displayName: 'Invoice Number' },
{ field: 'ContactName', displayName: 'Contact Name' },
{ field: 'Carrier', displayName: 'Carrier' },
{ field: 'InvoiceDate', displayName: 'Invoice Date' },
{ field: 'Amount', displayName: 'Amount' },
{ field: 'PaymentStatus', displayName: 'Payment Status' },
{ field: 'IsPastDue', displayName: 'Is Past Due', cellTemplate: '<label class="gridCheckBox"><input type="checkbox" data-bind="checked: $data.getProperty($parent)"></label></div>' },
{ field: 'DaysPastDue', displayName: 'Days Past Due' }
],
afterSelectionChange: function(){ return true; }
};