Sorting Problem when using HtmlDataTable
Hello,
In my table, I am displaying a list of homegrown, POJOs that represent users. Each row displays some info about the user as well as several command links for performing certain actions (like showing details, for instance). The sorting criteria is based upon whichever column is selected (the column names are being displayed via command links).
The sorting for my list of users is working fine with the exception of the command links per row. That is, if I have the following:
Last Name First Name
Conners John Show Details
Conners Amy Show DetailsSay I select the "Show Details" link for the first row. Details for John Conners are displayed. Good. Now I decide to sort the same list by First Name so I get the following:
Last Name First Name
Conners Amy Show Details
Conners John Show DetailsThe problem now is that when I select "Show Details" for the first row, information for John Conners appears. No matter what I do, it appears that the links in each row remain associated with whatever objects are displayed for that row the very first time the table is built.
How can I get the command links to "know" that their associated objects have changed after performing a sort routine?
Any ideas?
Jeff
Solution:
The problem was related to my usage of the list in conjunction with the code in my backing bean. Initially I was storing my list in the request scope. Basically, what was happening was I'd sort the list based upon a column that was selected. However, before the response was committed, I was retrieving the same list again--only in its previous, unordered state.
Now I have a less bulky (compared to what it could be) list that I store in the session. After I sort, I make sure to update the list in the session so each link in each row of the data table stay associated with the correct data.
Here's the sort method:
public void sort(ActionEvent actionEvent) {
sortColumn = (ColumnType) ColumnType.getEnumManager().getInstance(
actionEvent.getComponent().getId());
logger.debug("Attempting to sort by " + sortColumn);
Comparator c = null;
// Sort method will depend upon the column type
switch (sortColumn.getValue()) {
case ApplicationConstants.USER_ID_COLUMN:
c = new BeanPropertyComparator(ApplicationConstants.ID);
Collections.sort((List) this.getSearchResults(), c);
break;
case ApplicationConstants.LAST_NAME_COLUMN:
c = new BeanPropertyComparator(ApplicationConstants.LAST_NAME);
Collections.sort((List) this.getSearchResults(), c);
break;
case ApplicationConstants.FIRST_NAME_COLUMN:
c = new BeanPropertyComparator(ApplicationConstants.FIRST_NAME);
Collections.sort((List) this.getSearchResults(), c);
break;
default:
break;
* Update the object stored in the session so the sort order will be
* retained between requests.
facesContext.getApplication().createValueBinding(
"#{sessionScope.searchResults}").setValue(facesContext,
this.getSearchResults());
}The search results are initialized from a previous search page and its backing bean. The results are passed as a managed property to the bean containing the sort method.
Some snippets of my edit page that calls the sorting method is below:
<h:dataTable id="userTable" styleClass="table-background"
rowClasses="table-odd-row,table-even-row" cellpadding="5"
value="#{pc_Search_user_results.searchResults}" var="searchResult"
binding="#{pc_Search_user_results.userTable}">
<h:column>
<f:facet name="header">
<h:commandLink styleClass="table-header" id="userId"
actionListener="#{pc_Search_user_results.sort}">
<h:outputText value="User ID" />
</h:commandLink>
</f:facet>
<h:outputText value="#{searchResult.id}" />
</h:column>
<h:column>
<h:commandLink id="editLink" action="#{pc_Search_user_results.editUser}">
<h:outputText value="Edit" />
</h:commandLink>
</h:column>This is a long post, but I thought I'd try to explain for those who attempted to help as well as others.
Jeff
Similar Messages
-
Dear Experts,
i am getting the below error when i was giving * (Star) to view all the items in DB
[Microsoft][SQL Server Native Client 11.0][SQL Server]The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. 'Items' (OITM) (OITM)
As i was searching individually it is working fine
can any one help me how to find this..
Regards,
Meghanath.SDear Nithi Anandham,
i am not having any query while finding all the items in item master data i am giving find mode and in item code i was trying to type *(Star) and enter while typing enter the above issue i was facing..
Regards,
Meghanath -
hi Experts,
while running SQL Query i am getting an error as
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. for the query
select T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
T2.LineText
from OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN
QUT10 T2 ON T1.DocEntry = T2.DocEntry where T1.DocEntry='590'
group by T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
,T2.LineText
how to resolve the issueDear Meghanath,
Please use the following query, Hope your purpose will serve.
select T1. Dscription,T1.docEntry,T1.Quantity,T1.Price ,
CAST(T2.LineText as nvarchar (MAX))[LineText]
from OQUT T0 INNER JOIN QUT1 T1 ON T0.DocEntry = T1.DocEntry LEFT OUTER JOIN
QUT10 T2 ON T1.DocEntry = T2.DocEntry --where T1.DocEntry='590'
group by T1. Dscription,T1.docEntry,T1.Quantity,T1.Price
,CAST(T2.LineText as nvarchar (MAX))
Regards,
Amit -
Hi all, I bought one iphone and 3 ipads, i set up all on one apple ID. Now i have a problem when using messages: when sending message from one device it appears again on screen from the other 3 devices. I need help on how to set up messages on each device separately and to start using messages app on each device independently. Thanks
search google for "iphone remove picture from contact"
-
ORA-01403: no data found Problem when using AUTOMATIC ROW FETCH to populate
ORA-01403: no data found Problem when using AUTOMATIC ROW FETCH to populate a form.
1) Created a FORM on EMP using the wizards. This creates an AUTOMATIC ROW FETCH
TABLE NAME - EMP
Item Containing PRIMARY KEY - P2099_EMPNO
Primary key column - EMPNO
By default the automatic fetch has a ‘Process Error Message’ of ‘Unable to fetch row.’
2) Created a HTML region. Within this region add
text item P2099_FIND_EMPNO
Button GET_EMP to submit
Branch Modified the conditional branch created during button creation to set P2099_EMPNO with &P2099_FIND_EMPNO.
If I then run the page, enter an existing employee number into P2099_EMPNO and press the GET_EMP button the form is populated correctly. But if I enter an employee that does not exist then I get the oracle error ORA-01403: no data found and no form displayed but a message at the top of the page ‘Action Processed’.I was expecting a blank form to be displayed with the message ‘Unable to fetch row.’
I can work around this by making the automated fetch conditional so that it checks the row exists first. Modify the Fetch row from EMP automated fetch so that it is conditional
EXIST (SQL query returns at least one row)
select 'x'
from EMP
where EMPNO = :P2099_EMPNO
But this means that when the employee exists I must be fetching from the DB twice, once for the condition and then again for the actual row fetch.
Rather than the above work around is there something I can change so I don’t get the Oracle error? I’m now wondering if the automatic row fetch is only supposed to be used when linking a report to a form and that I should be writing the fetch process manually. The reason I haven’t at the moment is I’m trying to stick with the automatic wizard generation as much as I can.
Any ideas?
Thanks PeteHi Mike,
I've tried doing that but it doesn't seem to make any difference. If I turn debug on it shows below.
0.05: Computation point: AFTER_HEADER
0.05: Processing point: AFTER_HEADER
0.05: ...Process "Fetch Row from EMP": DML_FETCH_ROW (AFTER_HEADER) F|#OWNER#:EMP:P2099_EMPNO:EMPNO
0.05: Show ERROR page...
0.05: Performing rollback...
0.05: Processing point: AFTER_ERROR_HEADER
I don't really wan't the error page, either nothing with the form not being populated or a message at the top of the page.
Thanks Pete -
Problem when using About Operator in Contains Query
Hi,
I'm new to Oracle and this forums too. I have a problem when using about operator in contains query.
I create a table with some records and then create a context index on 'name' column.
CREATE TABLE my_items (
id NUMBER(10) NOT NULL,
name VARCHAR2(200) NOT NULL,
description VARCHAR2(4000) NOT NULL,
price NUMBER(7,2) NOT NULL
ALTER TABLE my_items ADD (
CONSTRAINT my_items_pk PRIMARY KEY (id)
CREATE SEQUENCE my_items_seq;
INSERT INTO my_items VALUES(my_items_seq.nextval, 'Car', 'Car description', 1);
INSERT INTO my_items VALUES(my_items_seq.nextval, 'Train', 'Train description', 2);
INSERT INTO my_items VALUES(my_items_seq.nextval, 'Japan', 'Japan description', 3);
INSERT INTO my_items VALUES(my_items_seq.nextval, 'China', 'China description', 4);
COMMIT;
EXEC ctx_ddl.create_preference('english_lexer','basic_lexer');
EXEC ctx_ddl.set_attribute('english_lexer','index_themes','yes');
EXEC ctx_ddl.set_attribute('english_lexer','theme_language','english');
CREATE INDEX my_items_name_idx ON my_items(name) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('lexer english_lexer');
EXEC ctx_ddl.sync_index('my_items_name_idx');Then I perform contains query to retrieve record :
SELECT count(*) FROM my_items WHERE contains(name, 'Japan', 1) > 0;
COUNT(*)
1
SELECT count(*) FROM my_items WHERE contains(name, 'about(Japan)', 1) > 0;
COUNT(*)
1But the problem is when I using ABOUT operator like in Oracle's English Knowledge Base Category Hierarchy it return 0
SELECT count(*) FROM my_items WHERE contains(name, 'about(Asia)', 1) > 0;
COUNT(*)
0
SELECT count(*) FROM my_items WHERE contains(name, 'about(transportation)', 1) > 0;
COUNT(*)
0I can't figure out what 's wrong in my query or in my index.
Any help will be appreciated.
Thanks,
Hieu Nguyen
Edited by: user2944391 on Jul 10, 2009 3:25 AMHello (and welcome),
You'd be best asking this question in the Oracle Text forum, here:
Text
And by the way, it will help others to analyse if you put {noformat}{noformat} (lowercase code in curly brackets) before and after your code snippets.
Good luck! -
When using FireFox I often cannot view pictures in Hotmail emails, but I have no problem when using other browsers
Do you also have this issue if you temporarily switch to Private Browsing mode?
*https://support.mozilla.org/kb/Private+Browsing
*Tools > Options > Privacy, choose the setting <b>Firefox will: Use custom settings for history</b>
*Select: [X] "Always use private browsing mode"
Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance/Themes).
*Don't make any changes on the Safe mode start window.
*https://support.mozilla.org/kb/Safe+Mode
*https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
See also:
*https://support.mozilla.org/kb/fix-login-issues-on-websites-requrie-passwords -
Coercion problem when using Shared Variable
I have a curious coercion problem when using Shared Variables. I want to share the state of a State Machine, which is an enum saved as a control (typedef) called TYPE State (see attached). I create a shared variable called State and define it as a Custom Control, using the just-mentioned typedef. So far, so good. I've attached three simple VIs -- the first one, Init State, simply wires a constant to the input of the Shared Variable to initialize it -- the wired constant is, of course, defined by the typedef. However, the Get State and Set State, meant to wire an indicator (for reading the state) or control (for setting it), develop coercion dots when wired into the Shared Variable. Why? How do I get rid of the dot? [I suppose I could abandon my typedef and custom control, but the beauty of typedefs and custom controls is that it "enforces" rules, lets you use enums for clarity, keeps the code "honest", etc. -- I'd hate to give that up just to get rid of a dot!].
On a related note, the code seems to work. This is much too simplistic to do anything, but if you open Set State and Get State, set the state to anything, run it (it immediately stops, of course), then run Get State, you'll see the chosen state appear in the indicator. So it does appear to work. The "error" (coercion dot) may, I suppose, be a "bug" in Labview because it can't figure out the mapping of the (very simple!) Custom Control, but if so, I hope it gets fixed quickly!
Bob Schor
Attachments:
Coercion Problem1.zip 38 KBHello Bob,
I am also seeing this behavior, I will escalate this question to our LabVIEW developers and post again here no later than next Tuesday, November 27th as National Instruments will be closed for the remainder of this week.
If this issue does turn into a product suggestion, I would suspect the workaround would to live with the coersion dot for the time being.
Enjoy the holiday
Regards,
Erik J.
Applications Engineer
National Instruments -
NLS support problems when using AL32UTF8 in dads.conf
Hello,
Following a post by Joel Kallman, in one of the forum threads, about the mandatory use of AL32UTF8 in dads.conf, when running HTML DB v2.0, I changed my PlsqlNLSLanguage parameter accordingly.
Prior to the change, I experienced some problems when using non-English characters some application items appeared as gibberish when contained non-English characters, and the LIKE operator didn't perform as expected. After the change, it all seems to work OK, but now I have a different problem.
All the non-English characters in my HTML page source code appears as gibberish. On screen, at run time, everything display correctly, but the source code seems to be corrupted. It is very difficult, and very annoying to debug the pages that way. Is there a way to enjoy both worlds Using AL32UTF8 in the dads.conf, as required, and still getting a coherent HTML source code, containing non-English characters?
Thanks,
Arie.Joel,
I use the following settings and they work fine for me:
Operating system:
LANG=de_DE
LANGVAR=de_DE.UTF-8
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
daust:oracle[o1020]> uname -a
Linux daust.opal-consulting.de 2.4.21-37.EL #1 Wed Sep 7 13:35:21 EDT 2005 i686 i686 i386 GNU/Linux
daust:oracle[o1020]> cat /etc/redhat-release
Red Hat Enterprise Linux ES release 3 (Taroon Update 6)
daust:oracle[o1020]>
marvel.conf:
<Location /pls/htmldb>
Order deny,allow
PlsqlDocumentPath docs
AllowOverride None
PlsqlDocumentProcedure wwv_flow_file_manager.process_download
PlsqlDatabaseConnectString localhost:1521:o1020
PlsqlNLSLanguage AMERICAN_AMERICA.WE8ISO8859P1
PlsqlAuthenticationMode Basic
SetHandler pls_handler
PlsqlDocumentTablename wwv_flow_file_objects$
PlsqlDatabaseUsername HTMLDB_PUBLIC_USER
PlsqlDefaultPage htmldb
PlsqlDatabasePassword @BZvJYqadreElOqj5poCB5gE=
Allow from all
</Location>
Database:
daust:oracle[o1020]> sqlplus "/ as sysdba"
SQL> select * from nls_database_parameters;
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET WE8ISO8859P1
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
PARAMETER VALUE
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0####################
Using AL32UTF8 resulted in the same problem as described ( and fixed ) here: Re: Strange - HTML not written correctly
So, what is the proper configuration of the DAD, perhaps there are different ones for Unicode instances and non-Unicode instances.
~Dietmar. -
i tried everything in this article, but still have the same problem when using Rapidweaver software. NOT with other software. I am converting my iWeb site to Rapidweaver, whenever there is a calmer period in my office. I have 16 Gb RAM on my NEW iMac and have Parallels desktop, mail, safari, iWeb and Rapidweaver running simultanious.
I never have the problem if i don't use Rapidweaver, but after i have added several pages to Rapidweaver, the problem begins. my iMac won't start up. the only thing that works is re-installing Macos OS X 10.8. i tried even whiping the completeharddrive, and reinstalling with a complete new user, the same problem.
I had it on my previous iMac also, and bought a new one because i thought the problem was in the iMac first. i hadn't noticed it only happens with using rapidweaver.
i sent my complete rapidweaver project to the programmers from rapidweaver at Realmacsoftware, but they couldnt reproduce my problem, there macs started up without any problem.
i deleted all the rapidweaver addons and extra stacks, and started a complete new project.
saterday i had the problem again, after adding about 5 new pages to my rapidweaver site.
i think i have reinstalled Macos OS X 10.8.2 20 or 30 times by now
does anyone have a sollution?Type '''about:support''' in the URL bar and hit Enter.
Scroll down almost to the bottom of that listing and see if you have '''user.js Preferences''' just above the '''''Graphics''''' category.
If you do have that, click on '''user.js file''' in this sentence. <br />
''Your profile folder contains a user.js file, which includes preferences that were not created by Firefox.''
Does that "different homepage" appear in that user.js file? -
Performance problem when using CAPS LOCK piano input
Dear reader,
I'm very new to Logic and am running into a performance problem when using the CAPS LOCK-piano-keyboard for input of an instrument: when I'm not recording everything is fine and the program instantly responds on my keystrokes, but as soon as I go into record-mode there is sometimes a delay in the response-time (so I press a key and it takes up to half a second longer before the note is actually played).
Is there anything to do about this to improve performance (for example turning of certain features of the application), or should I never use the CAPS LOCK keyboard anyway and go straight for an external MIDI-keyboard?
Thanks and regards,
Tim MetzDoes your project have Audio tracks and just how heavy it is, how many tracks? Also, what kind of Software Instrument do you use?
-
We use IE9.
I enter in https://gwserver.
Compose New mail (in Plain Text mode) with body:
Line-1
Line-2
Line-3
And send this mail , for example to itself.
the received letter will look like:
Line-1Line-2Line-3
Someone has the same problem?
SergAre you guys still on the shipping code of GW 12? Novell had a fix for this within a couple weeks of GW 12 being released from what I remember. Open an SR and get the latest code.
Or simply tell your users to user HTML.
Todd Bowman
Todd Bowman
Senior Network Analyst
University of Minnesota Physicians
612-884-0744
[email protected]
>>>
From: MarkDissington<[email protected]>
To:novell.support.groupwise.2012.web-access
Date: 5/24/2012 6:46 AM
Subject: Re: Problem when using IE9
skoltogyan;2197344 Wrote:
> The solution is?
>
> Serg
I would guess don't use IE9 until a fix is released? :-)
M.
MarkDissington
MarkDissington's Profile: http://forums.novell.com/member.php?userid=27611
View this thread: http://forums.novell.com/showthread.php?t=455634 -
Problem when using Javabeans in ADF?
Hi,
I encountered a problem when using ADF.
Please look at the following 2 classes :
public class Person
private String name;
private String city;
private int age;
public Person(String name, int age, String city)
this.name = name;
this.age = age;
this.city = city;
public Person()
public void setName(String name)
this.name = name;
public String getName()
return name;
public void setAge(int age)
this.age = age;
public int getAge()
return age;
public void setCity(String city)
this.city = city;
public String getCity()
return city;
public class PersonFactory
public PersonFactory()
public List getPersons()
List list = new ArrayList();
list.add(new Person("peit", 18, "dalian"));
list.add(new Person("robin", 22, "shenyang"));
list.add(new Person("Joe", 30, "York"));
list.add(new Person("Edi", 23, "Beijing"));
return list;
public List getNames()
List list = new ArrayList();
list.add("Peit");
list.add("Robin");
list.add("Joe");
list.add("Edi");
return list;
public void commit()
System.out.println("Data commited");
I created the PersonFactory class as DataControl, so I can use the getPersons() and getNames()(just for test, so they are simple), I drag the names from
the DataControl palette as Table in a JClientPanel, good luck, it works and displays the 4 Strings in a table, but when I drag the persons from
the DataControl palette as Table in the same JClientPanel, it does not work and raises exception :
java.lang.NullPointerException
at javax.swing.JTable.prepareRenderer(JTable.java:3731)
at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:1149)
at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1051)
at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:974)
So, I confused why? How to edit it properly?
Thanks.
Message was edited by:
[email protected]Hi, Frank
Thank you for your reply.
I am sorry for not explaining well. I mean that the getNames() works fine, but getPersons() does not. The only diferenece between them is the former is simple string and the latter is javabean, but when I made the PersonFactory as DataControl, I set the bean class Person for the getPersons()(list of persons) bean class.
I debuged the class, the exceptions raised when the table for getPersons() setModel() method called.
So, where is the problem?
Thanks. -
Cannot email pdf using Acrobat Reader XI v11.0.3 in Windows 8. No problem when using in ms vista. get "authentication error". Sometimes will get a very quick dialogue box showing the gmail login screen but then disappears. I use firefox and IE
Hi Rodney
Welcome to Apple Discussions
This sounds like one of those "oddities", contributed to by a few sources.
I can clear the Safari cache files as a temporary solution, but I encounter the same difficulties with the “problematic” files once they have been opened again.
Wondering if you disabled the Safari Cache would the refresh function work correctly? As a test you can disable the Safari Cache by Emptying the Cache first via the Safari menu, then Quit Safari. Now go to the Finder>Your User Library>Caches>Safari. Single click on the Safari folder, then Apple Key + I to open Info panel. There, check the "locked" box. This prevents further additions to the cache. The downside, you lose your ability to upload images etc. within Safari (my cache is disabled, so I use Firefox for the uploads).
Then restart Safari. Try the PDF from within Safari.
Post back -
I have problems when using the camera on my iPhone 4S (the same for my daughter with a iPhone4)
A veil around the blurred photo, a development impossible and completely unable to read the bar code or QR code. What to do?Sounds kind of stupid, but check to make sure that your iphone case cover is not blocking the edge of the camera lens. I had a silicone case on my 3S and when it got older, it started tot slip and the edges of my pictures were blurred.
Maybe you are looking for
-
App Store rejects buy of Mountain Lion
I tried to buy Mountain Lion in the App Store, but I got following error message: In English: Your buy could not be proceeded The products distribution file could not be checked. Maybe it is dammaged or not proper signed.
-
So here is my scenario. We are a small business (3 people) who develop learning content and want to use a SP doc library to manage it. Our hierarchy of content is as follows: Curriculum 1 ----> Course 1 -----> Lesson 1 --
-
Hello, I'm lost in this matter, because the sun documentation is too confusing concerning this procedure.My question is: Can i migrate from Netscape Messaging Server 4.15 Patch7 using Netscape Directory Server 4.16 to iPlanet Messaging Server 5.2 wit
-
My microphone in FaceTime is permanetly muted. Cannot unmute.
Nowone can hear me on FaceTime but I can see and hear them. Works ok on Skype. Cannot unmute microphone. Symbol has a bar through it as if I muted it. Selected the internal mic in setup not line in. Ant ideas?
-
Adobe Air 2.0: How to silently install c++ 2010 redistributable
Greetings! I have produce an Air 2.0 application using the native process api and I have created a .exe installer using the ADT comand line installer. Everything works fine but I need to distribute and silently install the MS C++ 2010 redistributa