Использую Rich:ExtendedDataTable, сортировку и выделение. | Код | <rich:extendedDataTable id="carList" width="100%" sortMode="single" selectionMode="multi" selection="#{editableResources$editSchedule.selectionTT}" var="row" selectedClass="selectedClass" value="#{editableResources$editSchedule.timetableArray}">
|
При этом, насколько я понимаю, при выборе строк, номера их можно выбрать из свойства, связанного с selection. | Код | private static Selection selectionTT = new SimpleSelection(); public Selection getSelectionTT() { return selectionTT; } public void setSelectionTT(Selection value) { selectionTT = value; }
private static ArrayList<Map<String, String>> timetableArray = new ArrayList<Map<String, String>>(); public ArrayList<Map<String, String>> getTimetableArray() { return timetableArray; } public void setTimetableArray(ArrayList<Map<String, String>> value) { timetableArray = value; }
|
Обрабатываю выделение так: | Код | if (selectionTT != null) { Iterator<Object> selKeys = selectionTT.getKeys(); int key; while (selKeys.hasNext()) { key = (Integer)selKeys.next(); // обрабатываю строку ... } }
|
Но сортировка выполняется только на стороне клиента, возникает несоответствие номеров. Как быть?
|