[paź 2011 r.] Zaktualizowano do wersji 4.0 API, poprawiono błędy selekcji zmian, uproszczoną pętlę wyboru. Testowane w wersji 4.2.0.
Jeśli tak jak ja, potrzebuje właściwego wielokrotny w jqGrid - gdzie ctrl wybiera jeden wiersz na raz, wybierz wybiera wiele wierszy i ani skasować wybór i wybiera 1 wiersz - Znalazłeś ją.
początek: set multiselect: true
w definicji siatki (nie ustawiać żadnych innych opcji wielokrotny)
Następny: W gridComplete: function() {}
ustawić grid.jqGrid('hideCol', 'cb');
- to ukrywa pola wyboru, jeśli nie chcesz im.
Wreszcie: Główną część
beforeSelectRow: function (rowid, e) {
if (!e.ctrlKey && !e.shiftKey) {
$("#grid").jqGrid('resetSelection');
}
else if (e.shiftKey) {
var initialRowSelect = $("#grid").jqGrid('getGridParam', 'selrow');
$("#grid").jqGrid('resetSelection');
var CurrentSelectIndex = $("#grid").jqGrid('getInd', rowid);
var InitialSelectIndex = $("#grid").jqGrid('getInd', initialRowSelect);
var startID = "";
var endID = "";
if (CurrentSelectIndex > InitialSelectIndex) {
startID = initialRowSelect;
endID = rowid;
}
else {
startID = rowid;
endID = initialRowSelect;
}
var shouldSelectRow = false;
$.each($("#grid").getDataIDs(), function(_, id){
if ((shouldSelectRow = id == startID || shouldSelectRow)){
$("#grid").jqGrid('setSelection', id, false);
}
return id != endID;
});
}
return true;
}
Koniec - nadzieję, że pomoże
I nie sądzę jest naprawdę miejsce wyświetlając swoje wyroby. – wmitchell
SO to strona QA ... nie zadałeś pytania ... Napisz bloga. Głosuję, aby zamknąć –
nie starając się być m8, wygląda dobrze, myślę, że mogą być lepsze miejsca do umieszczenia go. tj. na stronie dodatku Jquery. Choć dobrze jest widzieć entuzjazm, po prostu nie chcę, aby SO przekształciło się w rynek openair. – wmitchell