Раз поддержка отправила меня отлаживать код, вынесу вопрос из текущей работы в общую ленту для привлечения коллективного разума.
В одной из деталей на основе BaseGridDetailV2 с мультивыбором добавил в действия возможность снять все установленные "галочки", т.е. DeselectAll так:
А вот обратная операция не получается - нужно действием проставить все "галочки". Пробовал так:
var collection = this.Ext.create("Terrasoft.BaseViewModelCollection");
var items = gridData.getItems();
Terrasoft.each(items, function(item) {
collection.add(item.get("Id"));
});
this.set("SelectedRows", collection);
Не получается - то есть галочки не появляются.
Кто-нибудь пробовал такое действие сделать, коллеги? В системе примера не нашел...
Нравится
Добрый день Александр!!!
из вашего сообщения недопонял, что вы желаете реализовать Select ALL или DeSelect ALL. поясните пожалуйста. и я тогда вам приведу пример кода.
"Власов Михаил Викторович" написал:Select ALL
Именно select all. Буду очень благодарен за пример.
Deselect вполне получился.
Александр, добрый день!
В первом случае Вы присваиваете атрибуту "SelectedRows" пустой массив, а во втором пытаетесь присвоить коллекцию. Попробуйте во втором случае также присвоить массив идентификаторов:
var gridData = this.getGridData(); var selectedRows = []; var items = gridData.getItems(); Terrasoft.each(items, function(item) { selectedRows.push(item.get("Id")); }); this.set("SelectedRows", selectedRows);
Олег, спасибо. Ошибку свою понял, разобрался, все получилось.