Author: abelevich
Date: 2007-05-28 14:11:04 -0400 (Mon, 28 May 2007)
New Revision: 897
Modified:
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java
Log:
Modified:
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java
===================================================================
---
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java 2007-05-28
18:10:54 UTC (rev 896)
+++
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/renderkit/html/ScrollableGridBaseRenderer.java 2007-05-28
18:11:04 UTC (rev 897)
@@ -325,15 +325,19 @@
public String onSortAjaxUpdate(FacesContext context, UIScrollableGrid grid){
- JSReference index = new JSReference("index");
- JSReference order = new JSReference("order");
+ JSReference sortColumn = new JSReference("sortEvent.column");
+ JSReference sortOrder = new JSReference("sortEvent.order");
+ JSReference sortStartRow = new JSReference("sortEvent.startRow");
+ JSReference sortIndex = new JSReference("sortEvent.index");
+
Map options = AjaxRendererUtils.buildEventOptions(context, grid);
Map parametersMap = (Map)options.get("parameters");
String id = grid.getClientId(context);
- parametersMap.put(id + ":index", index);
- parametersMap.put(id + ":order", order);
-
+ parametersMap.put(id + ":sortColumn", sortColumn);
+ parametersMap.put(id + ":sortOrder", sortOrder);
+ parametersMap.put(id + ":sortStartRow", sortStartRow);
+ parametersMap.put(id + ":sortIndex", sortIndex);
options.put("parameters", parametersMap);
JSFunction function = AjaxRendererUtils.buildAjaxFunction(grid, context);
@@ -355,15 +359,22 @@
Map parameters = externalContext.getRequestParameterMap();
- if(parameters.containsKey(clientId + ":order") &&
parameters.containsKey(clientId + ":index")){
+ if(parameters.containsKey(clientId + ":sortColumn") &&
+ parameters.containsKey(clientId + ":sortStartRow") &&
+ parameters.containsKey(clientId + ":sortIndex") &&
+ parameters.containsKey(clientId + ":sortOrder")){
- boolean isAsc = false;
- String order = (String)parameters.get(clientId + ":order");
- int index = Integer.parseInt((String)parameters.get(clientId + ":index"));
- if(order.equals("asc")){
- isAsc = true;
+ int sortColumn = Integer.parseInt((String)parameters.get(clientId +
":sortColumn"));
+ int sortStartRow = Integer.parseInt((String)parameters.get(clientId +
":sortStartRow"));
+ int sortIndex = Integer.parseInt((String)parameters.get(clientId +
":sortIndex"));
+ String sortOrder = (String)parameters.get(clientId + ":sortOrder");
+
+ boolean asc = true;
+ if(!sortOrder.equals("asc")){
+ asc = false;
}
- SortEvent sortEvent = new SortEvent(grid,index, isAsc);
+
+ SortEvent sortEvent = new SortEvent(grid,sortColumn, sortStartRow, sortIndex, asc );
grid.queueEvent(sortEvent);
}
@@ -397,13 +408,14 @@
grid.setDataIndex(new Integer(0));
grid.setStartRow(new Integer(grid.getFirst()));
}
+
System.out.println("");
System.out.println("row count: " + grid.getRow_count());
System.out.println("data index: " + grid.getDataIndex());
System.out.println("start row: " + grid.getStartRow());
}
-
+
public void renderAjaxChildren(FacesContext context, UIComponent component)throws
IOException{
UIScrollableGrid grid = (UIScrollableGrid)component;
@@ -411,7 +423,8 @@
grid.setFirst(grid.getDataIndex().intValue());
int old = grid.getRows();
state.setLoadedRowsCount(old);
- grid.setRows(grid.getRow_count().intValue() + 1);
+ grid.setRows(grid.getRow_count().intValue());
+// grid.setRows(grid.getRow_count().intValue() + 1);
int start_row = grid.getStartRow().intValue();
AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
Show replies by date