-
1. Re: ExtendedDataTable - Select rowentry using Backingbean
ilya_shaikovsky Mar 17, 2010 11:21 AM (in response to eiselejosef)if row keys - your custom objects - do not forget about rowKeyConverter. -
2. Re: ExtendedDataTable - Select rowentry using Backingbean
eiselejosef Mar 17, 2010 11:28 AM (in response to ilya_shaikovsky)Hi Ilya,
So far we don't use this attribute, we use:
<rich:extendedDataTable id="table"
rows="0" columnClasses="col" height="250px" width="400px"
value="#{bean.dataModel}" styleClass="myStyle"
var="meld" sortMode="single"
selection="#{bean.selection}"
enableContextMenu="true"
tableState="#{bean.tableState}"
selectionMode="single">Do you have an example ?
cu Josef
-
3. Re: ExtendedDataTable - Select rowentry using Backingbean
ilya_shaikovsky Mar 17, 2010 11:44 AM (in response to eiselejosef)post java code also please. -
4. Re: ExtendedDataTable - Select rowentry using Backingbean
eiselejosef Mar 18, 2010 4:09 AM (in response to ilya_shaikovsky)BackingBean:
...
private ExtendedTableDataModel<HeVmgDvnTO> dataModel;
private HeVmgDvnTO selectedMeldung = new HeVmgDvnTO();
private String tableState;
private String order;
private Selection selection;...
public String navNeu(){
// erzeugt einen neuen Eintrag im Model der dann spaeter gespeichert werden kann
HeVmgDvnTO neuerEintrag = new HeVmgDvnTO();
// Foreign Key setzen
neuerEintrag.setHevmgId(vmgId);
neuerEintrag.setChanged(true);
neuerEintrag.setId(0);
// an das Modell einen Eintrag hinzufuegen geht nicht daher wegwerfen und neu
HeVmgDvnProvider dataProvider = (HeVmgDvnProvider) dataModel.getDataProvider();
List<HeVmgDvnTO> dvnListe = dataProvider.getItems();
// jetzt hinzufuegen und Modell neu setzen
dvnListe.add(neuerEintrag);
dataModel = new ExtendedTableDataModel<HeVmgDvnTO>(
new HeVmgDvnProvider(dvnListe));
// Diesen neuen Eintrag selektieren
SimpleSelection simpleselect = new SimpleSelection();
simpleselect.addKey(0);
selection = simpleselect;
dataModel.setRowKey(0);
selectedMeldung = neuerEintrag;
return "";
}
...DataProvider-Klasse:
...
public class HeVmgDvnProvider implements DataProvider<HeVmgDvnTO> {
... -
5. Re: ExtendedDataTable - Select rowentry using Backingbean
ilya_shaikovsky Mar 19, 2010 1:22 PM (in response to eiselejosef)data provider also please.
-
6. Re: ExtendedDataTable - Select rowentry using Backingbean
eiselejosef Mar 22, 2010 9:01 AM (in response to ilya_shaikovsky)public class HeVmgDvnProvider implements DataProvider<HeVmgDvnTO> {
private static final long serialVersionUID = 5241196402571534077L;
/**
* Datencontainer
*/
private List<HeVmgDvnTO> items;
public HeVmgDvnProvider(List<HeVmgDvnTO> items) {
super();
this.items = items;
}
public List<HeVmgDvnTO> getItems() {
return items;
}public void setItems(List<HeVmgDvnTO> items) {
this.items = items;
}
/* (non-Javadoc)
* @see org.richfaces.model.DataProvider#getItemByKey(java.lang.Object)
*/
public HeVmgDvnTO getItemByKey(Object key) {
if (key == null)
return null;
for (HeVmgDvnTO entity : getItems()){
if (Long.valueOf(entity.getId()).equals(key))
return entity;
}
return null;
}/* (non-Javadoc)
* @see org.richfaces.model.DataProvider#getItemsByRange(int, int)
*/
public List<HeVmgDvnTO> getItemsByRange(int firstRow, int lastRow) {
return getItems().subList(firstRow, lastRow);
}/* (non-Javadoc)
* @see org.richfaces.model.DataProvider#getKey(java.lang.Object)
*/
public Object getKey(HeVmgDvnTO item) {
return item.getId();
}/* (non-Javadoc)
* @see org.richfaces.model.DataProvider#getRowCount()
*/
public int getRowCount() {
return getItems().size();
}
} -
7. Re: ExtendedDataTable - Select rowentry using Backingbean
eiselejosef Apr 22, 2010 10:55 AM (in response to eiselejosef)I think I found the solution under:
...
[RF-8229] - ExtendedDataTable: programmatic changes in table state are not applied to the table (https://jira.jboss.org/jira/browse/RF-8229)
...
The Future will fix it...