koGrid Выбор строки не обновил флажок выбора строки

Я использовал 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' }
            ]
        };

Не удалось найти, в чем именно заключается проблема.

Пожалуйста помоги. Спасибо

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; }
    };
Другие вопросы по тегам