(Xem this question và this question cho nền ...)SlickGrid onSelectedRowsChuyển đổi hai lần khi có nhiều hàng được chọn?
Given:
grid = new Slick.Grid("#myGrid", data, columns, options);
grid.setSelectionModel(new Slick.RowSelectionModel());
grid.onSelectedRowsChanged.subscribe(function() {
row_ids = grid.getSelectedRows();
console.log(row_ids);
});
... khi tôi chọn một dòng (nói, hàng 5), tôi nhận được một sản lượng
[4]
... đó là những gì tôi mong đợi. Tuy nhiên, CMD + Click hoặc SHIFT + Click -ing hàng khác (ví dụ, hàng 3) ngoài hàng này mang lại cho tôi một đầu ra của
[2]
[4, 2]
... đó là những gì tôi KHÔNG mong chờ (Tôi mong chờ chỉ [4, 2]
). Điều này dường như xảy ra miễn là số hàng được chọn là > 1
. Vì vậy, nếu tôi được tiếp tục chọn một hàng khác (ví dụ, hàng 17), tôi sẽ có được điều này
[16]
[4, 2, 16]
tôi đã thêm một breakpoint trên báo cáo kết quả console.log
và xác minh rằng onSelectedRowsChanged
đang được bắn hai lần: một lần cho hàng mới được nhấp và một lần cho tất cả các hàng đã chọn.
Tại sao điều này? Tôi chỉ muốn nó bắn sau khi, cấp cho tôi toàn bộ các hàng đã chọn. Làm thế nào tôi sẽ thực hiện được điều này? Hay tôi đang thiếu một cái gì đó?
bạn đang sử dụng phiên bản SlickGrid nào? Tôi đang sử dụng một thanh toán khá cập nhật từ chi nhánh "v2 master" (có thể là giữa tháng 1 năm 2011) và không gặp vấn đề này – fbuchinger
Tôi đang sử dụng "SlickGrid v2.0 alpha", trực tiếp từ github trang. Tôi tìm thấy nguồn gốc của sự cố ... đăng bên dưới ... – neezer
Tệ của tôi; đã cập nhật câu hỏi trên (thay vì trả lời dưới đây). – neezer