Author: abelevich
Date: 2007-06-04 09:59:52 -0400 (Mon, 04 Jun 2007)
New Revision: 996
Modified:
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/component/UIScrollableGrid.java
Log:
Modified:
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/component/UIScrollableGrid.java
===================================================================
---
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/component/UIScrollableGrid.java 2007-06-04
13:59:43 UTC (rev 995)
+++
trunk/sandbox/scrollable-grid/src/main/java/org/richfaces/component/UIScrollableGrid.java 2007-06-04
13:59:52 UTC (rev 996)
@@ -7,6 +7,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
+import java.util.List;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -18,6 +19,7 @@
import org.ajax4jsf.ajax.repeat.DataComponentState;
import org.ajax4jsf.ajax.repeat.DataVisitor;
+import org.ajax4jsf.ajax.repeat.ExtendedDataModel;
import org.ajax4jsf.ajax.repeat.Range;
import org.ajax4jsf.ajax.repeat.UIRepeat;
import org.ajax4jsf.framework.ajax.AjaxComponent;
@@ -28,6 +30,9 @@
import org.richfaces.model.BufferedSequenceRange;
import org.richfaces.model.ScrollableGridDataModel;
import org.richfaces.model.SortOrder;
+import org.richfaces.model.impl.ArrayDataModelExt;
+import org.richfaces.model.impl.ListDataModelExt;
+import org.richfaces.model.snapshot.ObjectLocator;
import org.richfaces.model.visual.DefaultGridVisualModel;
import org.richfaces.model.visual.ScrollableGridVisualModel;
@@ -62,7 +67,7 @@
public void setResponseData(Collection responseData) {
this.responseData = responseData;
}
-
+
protected DataComponentState createComponentState() {
return new DataComponentState(){
@@ -95,6 +100,24 @@
}
};
}
+ protected ExtendedDataModel createDataModel() {
+
+ ScrollableGridDataModel model = null;
+ Object value = getValue();
+
+ if (value instanceof ScrollableGridDataModel) {
+ ScrollableGridDataModel dataModel = (ScrollableGridDataModel) value;
+ model = dataModel;
+ } else if (value instanceof List) {
+ model = new ListDataModelExt((List)value);
+ } else if (value instanceof Object []) {
+ model = new ArrayDataModelExt((Object[]) value);
+ } else {
+ model = new ArrayDataModelExt(new Object[]{});
+ }
+
+ return model;
+ }
public ScrollableGridVisualModel getVisualModel() {
Show replies by date