cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "borgo (JIRA)" <>
Subject [JIRA] Commented: (CAY-912) Lookup fields not working on jtable
Date Sun, 04 Nov 2007 14:53:51 GMT


borgo commented on CAY-912:

Here's the solution:

// begin java code

DataObjectList doLookupList = new DataObjectList(dataContext
                .performQuery(new SelectQuery(Name.class)));

ObjEntityViewField viewField = dataView.getObjEntityView("ObjEntityViewName").getFieldForObjAttribute(

 // using lookup cache to translate between combobox labels and DataObjects.
 viewField.getOwner().getOwner().getLookupCache().cache(viewField, doLookupList );

// You should use the previous code for every lookup fields you want to edit as a combobox
in the jtable.

// ... then load the main dataobject list in the tableModel as illustrated in the following

// end java code

(I don't know how cache in dataview works. I hope someone will write a little description)



PS: (I have an enhanced  example for dataview that I wish to upload (its based on the 1.2
example but also show how to use combo in jtable as lookup fields. How can I upload it ? Do
I need a svn account ?)

> Lookup fields not working on jtable
> -----------------------------------
>                 Key: CAY-912
>                 URL:
>             Project: Cayenne
>          Issue Type: Bug
>          Components: DataViews
>    Affects Versions: 2.0 [STABLE]
>         Environment: JRE 1.5 + Windows Vista :-(
>            Reporter: borgo
>            Assignee: Andrus Adamchik
> I have tried to use DataViews with the following example code (
> The DataViews documentation It's not clear about use the lookup when editing a JTable.

> Two problem arise:
> 1) Lookups combobox are always empty
> I have look at createTableCellEditor() methods in CellEditors
> Here the method field.getLookupValues() returns always an empty list.
> The cause is getRootOwner().getLookupCache().getCachedValues(lookupField) that returns
always an empty list.
> I think it's because I haven't setting any data in the cache. 
> But how could I do that ? Does I need to create query in the modeller ? 
> Unluckly, documentation and examples doesn't help to understand how cache and lookup
fields works.
> 2) So I have tried to use a custom method to load the lookup combobox.
> Here is another problem: when I pickup an element, the cell in the table is not updated
and becomes empty.
> there is no way to update the cell choosing elements from the combo.
> I'm very interested in DataViews. My first reason to use Cayenne is the presence of DataViews.
> I'd like to give my contributes to that project but first we need a working base to develop
> Regars
> Andrea

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message