-
1. Re: Navigating in rich:dataTable with arrow keys(up/down/lef
ilya_shaikovsky Nov 3, 2009 5:07 AM (in response to asertoglu)extendedDataTable has such features.
-
2. Re: Navigating in rich:dataTable with arrow keys(up/down/lef
asertoglu Nov 3, 2009 6:28 AM (in response to asertoglu)Which extendedDataTable features should i set to navigate on the table ?
Thanks. -
3. Re: Navigating in rich:dataTable with arrow keys(up/down/lef
ilya_shaikovsky Nov 3, 2009 6:58 AM (in response to asertoglu)check this demo http://livedemo.exadel.com/richfaces-demo/richfaces/extendedDataTable.jsf. the features is turned by default.
-
4. Re: Navigating in rich:dataTable with arrow keys(up/down/lef
asertoglu Nov 3, 2009 8:21 AM (in response to asertoglu)thank you ilya_shaikovsky,
My dataTable rows has 3 columns in which has h:inputText component. After User writes the value in h:inputText, with arrow keys or return key wants to go to the next row's h:inputText. But i couldn't succeed this action in rich:extendedDataTable.
Thanks a lot. -
5. Re: Navigating in rich:dataTable with arrow keys(up/down/lef
fdegrigny Jan 15, 2010 5:58 AM (in response to asertoglu)Did you find a solution, because I have to implement a similar scenario (navigation with arrows keys between editable inputs into table's cells) ? -
6. Re: Navigating in rich:dataTable with arrow keys(up/down/lef
asertoglu Jan 18, 2010 1:30 AM (in response to fdegrigny)Yes, I have solved this problem using javascript :
<h:inputText value="#{record.doluluk1}" maxlength="3" size="3"
required="false" styleClass="tonaj" onkeydown="setFocus(this);" onchange="setSiloChanged(this);">
<hx:convertNumber />
</h:inputText>function setFocus(element) {
//left:37, right:39, up:38, down:40
if ((window.event.keyCode == "13") || (window.event.keyCode == "40")) { // Enter or Down Key...
var ename = element.name;
var ename_array=ename.split(":");
ename_array[2] = ename_array[2] * 1 + 1;
ename = ename_array[0]+":"+ename_array[1]+":"+ename_array[2]+":"+ename_array[3]
var next_element = document.getElementById(ename);
if (next_element != null) {
next_element.focus();
}
} else if (window.event.keyCode == "38") { // Up Key...
var ename = element.name;
var ename_array=ename.split(":");
ename_array[2] = ename_array[2] * 1 - 1;
ename = ename_array[0]+":"+ename_array[1]+":"+ename_array[2]+":"+ename_array[3]
var next_element = document.getElementById(ename);
if (next_element != null) {
next_element.focus();
}
} else if (window.event.keyCode == "37") { // Left Key...
var ename = element.name;
var ename_array=ename.split(":");
if (ename_array[3] == "doluluk2") {
ename_array[3] = "doluluk1"
}
else if (ename_array[3] == "doluluk3") {
ename_array[3] = "doluluk2"
}
ename = ename_array[0]+":"+ename_array[1]+":"+ename_array[2]+":"+ename_array[3]
var next_element = document.getElementById(ename);
if (next_element != null) {
next_element.focus();
}
} else if (window.event.keyCode == "39") { // Right Key...
var ename = element.name;
var ename_array=ename.split(":");
if (ename_array[3] == "doluluk1") {
ename_array[3] = "doluluk2"
}
else if (ename_array[3] == "doluluk2") {
ename_array[3] = "doluluk3"
}
ename = ename_array[0]+":"+ename_array[1]+":"+ename_array[2]+":"+ename_array[3]
var next_element = document.getElementById(ename);
if (next_element != null) {
next_element.focus();
}
}
}