Showing posts with label Table. Show all posts
Showing posts with label Table. Show all posts

Wednesday, December 12, 2012

ADF Table Click to Edit functionality

I haven't been posting lately, i feel sorry for that.

This is mostly because i am up to my head with new projects, BPM, SOA, BI and other fusion middleware technologies. Also because:
  • we are using Jdeveloper 11.1.1.6 that is stable
  • we are using more or less the well known functionality
  • end users have started to get used to ADF functionality
 Still we need to keep walking, so i keep an eye from time to time, on the latest jdeveloper version 11.1.2.3.0 and functionality that we don't frequently use like the  ADF Table 'Click to Edit'.

Actually its a fancy functionality that make the table look nice and works fine with navitating either with mouse or by 'Tab' or arrows.
It is easy to implement, just set editingMode="clickToEdit" in editable ADF table.

everything works fine apart from the Date picker that does not work in Firefox 17 and it is not related with click to edit functionality (see forums.oracle.com )

Everything work fine until you press CreateInsert button.
Then a new row is inserted and highlighted yet it is not editable, the previous selected row is editable.


If you click on any other row by mouse nothing happens, rows don't become editable.
Arrows navigation don't work and If you try to navigate with tab it never go to the new row.
So the only applicable action is to click with mouse in the new row.

If you make a mistake not to fill the required fields and click on a different row, then validation errors appear as expected.
After that if you press rollback, even if it seems that the table is back to normal some rows are not editable any more when you click on them.
Sometimes rows display as duplicate on the table with these steps.
So it seems that click to edit functionality does not work properly for newly created rows on editable tables.
What we do to override this is that we create a popup dialog for new row data to be inserted and committed before they are editable in the table.

Test Case

Sunday, June 26, 2011

Table Filter Number format bug

In a filterable table when we typed a number with decimals we got the following error:


It is an oracle database error that shows that the number entered in criteria is not converted correctly according to the locale of the database.
Same value in Search criteria works correctly.




So is this a bug?


Test case is on 11.1.2. It reproduce also in 11.1.1.4



I guess you need a database with different locale to reproduce (a locale that decimal ceparator is ',')

Thursday, July 1, 2010

Table input text resize while typing non latin characters/ output text not selectable

In af:table input fields have a nice animation while you type non latin characters.
As long as you type characters the width of the field becomes smaller:



I have tested with Greek and Turkish characters.
If you mouse over the field it returns to the correct width.

Is this a bug?

Also there is no way you can select a value from the output fields in order to copy it.

These are quite frustrating for the users

Test Case:
http://adfbugs.googlecode.com/files/TestTableInputOutput.zip

Wednesday, April 21, 2010

Inserting new rows as last row of table

By Default when you add a new row on table (or view object) it is added before the current selected row.

End user requirement was that when we press Insert the new row should be added as last row no matter which is the current row.

This is implemented by overriding the View Object method insert(row).
/**
* Insert new Rows at the end of RowSet.
* @param row
*/
@Override
public void insertRow(Row row) {
//go to the end of Rowset if it has rows
Row lastRow = this.last();
if (lastRow != null) {
//insert new row at the end and make it current
int indx = this.getRangeIndexOf(lastRow) + 1;
this.insertRowAtRangeIndex(indx, row);
this.setCurrentRow(row);
} else { // empty Rowset
super.insertRow(row);
}
}

Note: This could cose performance issue when inserting new rows on very large tables.

Don’t forget in table components to always set displayRow="selected" so that the new row to be visible no matter how many rows there are.




Test Case:
http://adfbugs.googlecode.com/files/TestNewRowAtEnd.zip

Wednesday, March 17, 2010

Rollback does not refresh current row of af:table after validation errors.

In a simple af:table if you select a row and press CreateInsert then new row is created with focus above the selected row.

If you press Rollback then the selected row is by default the first row of the table.

This works fine.

Yet if before rollback you have validation errors (i.e. After creating a row, navigate to an other row), then rollback does not make the first row selected.

Selected row on table remains the last selected row even if the current row of view object is the first row.
If you press now CreateInsert, the new row is created as first row of table and it does not even have the focus.

If you click now on the empty row then you will get again the validation errors.

Is this a bug?

Test case.
http://adfbugs.googlecode.com/files/TestTableInsert.zip

Still Reproduce in jdeveloper11.1.2
SR 3-2391480761 and defect was posted for this yet it is Rejected by development team as:
Our Development team has marked this as expected behaviour and therefore it will not be fixed in the future either - at least not for now.

Wednesday, August 12, 2009

Table Filter Bug

I create a default ADF table with filter from Employees views.

If i put an invalid value in date filter then i correctly have a validation error.


Also if i press rollback the value is cleared

If i put invalid value in a number filter then i get a ppr exception.


is this a bug?

Generally rollback (and resetActionListener) does not clear filters of table.

Is there a way to clear values and reset query for table filters?

Monday, August 3, 2009

Table Validations Bug.

In a simple Departments Entity i also put 2 transient attributes for this test case reasons.

Then i add some entity and attribute validations.


Then i create a simple ADF Table with submit and commit buttons


I put values in a row so that Entity compare validation should fail. I press submit but nothing happens. I press commit and it seems that data is commited, but they are not!!!

Validation error only shows up if i navigate to an other row by clicking.


but again if i press submit or commit all validation errors disapear!!!?

If i navigate to next row by pressing Tab, again no validation errors!!!



Is this a bug?

Is there any way that these validation errors do not disapear when i press any button?
Test Case:

Thursday, July 30, 2009

Range paging and Table Selected Row Bugs

In a default view object and default table in panel collection, when you scroll down and select a row and for any reason the table is submitted (button, reorder columns, detach), then the table returns to the first displayed page and the selected row was not visible.
But you could fix that if in the table properties you set displayRow="selected".
Except form the detach button that still reset the visible range to the start.

Bug1 :Yet when you set Range paging for tuning the view object the displayed (selected) row is lost many times (not always) when you submit page.


Bug2 :Also some times the selection listener of the table does not work and when you submit the previus selected row is selected


Bug3 : Last it seams that it execute many ranges in the query, not only when you scroll down, but also when you select a row.


So is this a bug?
or we should not use Range Paging in view objects used in table?

Test Case:

Friday, July 24, 2009

Partial Page Rendering ChangeEventPolicy="ppr" bug. (Fixed in 11.1.2)

While working on previews application I noticed something else.

Suddenly the result table in query page started to refresh every time I selected a row.

Also when I had scroll down in the results and selected a row the visible range whas returned back to the first page and I could not see the selected row.

I looked at the history of page and I didnt see anything strange, just I had added in a point a navigation button in the collection.
I checked the history in bindings and there I found the difference:

iterator Binds="EmployeesView1" RangeSize="25"
DataControl="AppModuleDataControl" id="EmployeesView1Iterator"
ChangeEventPolicy="ppr"


after removing ChangeEventPolicy="ppr" the table behaved correctly again.
I also notice in the detail log(-Djbo.debugoutput=console) the following:
[9421] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[9422] ! ERROR: Use of pinDataControl
[9423] ! is not supported. Pinning the !
[9424] ! DataControl will result in severe!
[9425] ! performance issues. !
[9426] !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I don't know if it is related but it doesn't seems good.

So is this a bug?
We should not use ChangeEventPolicy="ppr" for iterators used in tables?
If not why it is set automatically when you drag and drop some iterator operations?

I reproduced the problem in a simple test case with just departments table
http://adfbugs.googlecode.com/files/TestPPR.zip

Metalink:
Bug No: 7233400 AUTOPPR: TABLE REREFRESHES UNNECESSARILY
Status: Scheduled for Future Release

Does not reproduce in Jdeveloper 11.1.2