Is it possible to enable/disable table row selection?

I have a situation where a user can add rows to a "selection" table with a value that is used to perform a query to get a collection of objects associated with that value. Once those objects are available, a second "results" table will be populated with the row(s) returned. When the value is entered in the selection table, a web service call is made to perform the query and return the results. This may take a few moments and I am displaying an indeterminate progress indicator for the selection table row involved to indicate that the data is not yet available - the progress indicator is included as a column in the row; each row has its own indicator. Once the results are received the indicator is hidden to indicate the query for that row has completed. The user may enter as many rows in the selection table as they wish so there is a distinct possibility of multiple queries being executed at a given time. I have also attached a row selection listener to the selection table such that when a given row is selected, the results table will display the corresponding associated row(s).
What I'd like to be able to do is somehow temporarily disable the selection of any row that has a query in progress, while leaving other rows whose queries have completed be selectable. Once the query completes, the row can then become selectable, thus allowing for the results to be loaded and displayed in the results table. The way it works right now, if the row is selected while the query is still in progress, nothing is displayed (obviously), but then the row has to be re-selected after the query has completed to see the results. This is a viable (though undesirable) solution/workaround if there is at least one other row in the table. However, if the row is the only row in the table and has been selected, it cannot be re-selected (there's no other row to select to allow for re-selection). To boil it down, what I'd like to do is prevent the selection of the row until the query for that row is complete.
After perusing the JavaFX 2.2 API, I'm not seeing any obvious way to achieve this effect. If anyone has any solutions, suggestions, etc. on how this could be done I'd appreciate it greatly.

Here's an [url https://github.com/james-d/Conditionally-selectable-table]example. As predicted, keyboard navigation fails if the keyboard presses would result in an unselectable item being selected using the default selection model. The best workaround I can see for this is to register event filters for the appropriate keyboard strokes, as in the previously referenced thread.
Update: That code won't run in the current (ea b90) release of JavaFX 8.0, and probably a few recent releases; it will however run in the final release (and it runs in JDK 7). See [url https://javafx-jira.kenai.com/browse/RT-30593]RT-30593
Edited by: James_D on May 22, 2013 7:51 PM

Similar Messages

  • Is it possible to enable / disable personal hotspot through MDM?

    Is it possible to enable / disable personal hotspot through MDM?

    If you are using the Smartbar you just enable or disable the relevant Menu Item using SET_MENU_ITEM_PROPERTY and that will automatically enable or disable the corresponding Button.
    (you will need to use the Menu module menudefs.mmb which is a MMB version of the standard menu and smartbar and from that you can get the names of all the menu items.)
    If it is a normal toolbar canvas with buttons on it you can use SET_ITEM_PROPERTY to enable and disable the buttons

  • How to disable first row selection in a table

    Hi,
    I have three tables which have master child relationship. I need to enable a button for each table based on row selection of corresponding table.But first row is being selected automatically and the buttons are enabled.
    what should i do in order to avoid first row selection in a table.I tried by removing selected Row Keys.But still i am getting the same problem.can anyone suggest on this.
    Thank You,
    Sukumar

    I know a hack but I don't recommend it, anyway here it goes:
    Remove selected Row Keys
    Change selectionListener from the default and create a custom action listener (You can call the default one inside of it) (Tip: use makeCurrent function in this PDF
    This will make sure that there is no selected row highlighted for the first time, but it actually means that the first row is selected, it's just not shown.
    This method is tested with 11.1.1.7

  • Enabled/Disabled color row Datagrid

    Hi all,
    I extend class Datagrid to draw rows depending a value.
    package comp
         import flash.display.Sprite;
         import mx.controls.DataGrid;
         import mx.core.Application;
         public class DataGridEx extends DataGrid
              public var rowColorFunction:Function;
              public function DataGridEx()
                   super();
              override protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void
                   if ( rowColorFunction != null && dataProvider != null ){
                        var item:Object;
                        if (dataIndex < dataProvider.length){
                             item = dataProvider[dataIndex];               
                        if (item){
                             color = rowColorFunction(item,rowIndex,dataIndex,color);
                   super.drawRowBackground(s,rowIndex,y,height,color,dataIndex);
    In MXML i wrote this. My purpose is user could chosse if the rows are coloured or not.
              private function colorRow():void{               
                   if (colorRowByFile == false){
                        colorRowByFile = true;                    
                   if (colorRowByFile == true){
                        colorRowByFile = false;
    And finally the code of Datagrid and color:
    public function calcRowColor(item:Object, rowIndex:int, dataIndex:int, color:uint):uint
                     if(item.numFile == 1)
                        return 0x49FFAD;
                   if(item.numFile == 2)
                        return 0x33CCFF;
                   if(item.numFile == 3)
                        return 0xFFCC66;
                   if(item.numFile == 4)
                        return 0xFFFF99;
                   if(item.numFile == 5)
                        return 0xFF6633;
                   if(item.numFile == 6)
                        return 0xFFCCCC;
                   if(item.numFile == 7)
                        return 0x996600;
                   if(item.numFile == 8)
                        return 0xCCFF99;     
                   else return 0xFFFFFF;            
    <comp:DataGridEx id="dg_events" width="100%" height="100%"
    dataProvider="{eventList.eventCollection}"
    rowColorFunction="calcRowColor">
    <comp:columns>
    <mx:DataGridColumn headerText="Nombre de evento" width="150"
    dataField="name"/>
    <mx:DataGridColumn headerText="ID" width="40"
    dataField="eventId"/>
    <mx:DataGridColumn headerText="Propietario" width="120"
    dataField="owner"/>
    <mx:DataGridColumn headerText="Fecha" width="70"
    dataField="date"/>
    <mx:DataGridColumn headerText="Hora" width="55"
    dataField="time"/>
    <!-- <mx:DataGridColumn headerText="N. Parámetros" width="100"
    dataField="numParams"/> -->
    <mx:DataGridColumn headerText="Parámetros"
    labelFunction="eventList.getParams"/>
    <mx:DataGridColumn headerText="Archivo" width="40"
    dataField="numFile"/>
    </comp:columns>
    </comp:DataGridEx>
    The problem is:
    Initially the option are enabled so the rows are correctly coloured depending the value of column numFile. When user clicks to disabled colors, datagrid appears correct (with no color) but if we click again to recoloured row the datagrid still the same state (with no colour).
    I dont know the reason.
    Thanks in advanced.
    Lerogke
    PD: sorry for my english

    Does your override of drawRowBackground get called?  Maybe the DG doesn't think it is dirty.  There are APIs like invalidateList() that might help
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui

  • Is it possible to enable/disable font antialiasing ONLY in LO?

    I've got a question: Does the option marked in the picture with a red line work for you? I mean: Can you enable/disable LO font AA using this "tick" in Options/Libreoffice/View?
    I'm asking because in my case it changes absolutely nothing and I have no idea whether it's my "fault" or a common problem (bug?) in LO. Can I somehow figure that out? If so, then how can i do it?
    Last edited by Hwiparam (2014-11-07 13:34:34)

    drcouzelis wrote:Even so, I'm sure there's a way to force fontconfig to use special settings for just LibreOffice. (Although I have no idea how that's done.)
    Yesterday evening I did some googling, however with little result (actually no clear answer so far) If this option does not work for you as well, I think there is a problem with LO, not with my settings.
    Maybe some day I will find a way to use fontconfig for that, as you described Or I'll report a bug to the developers. But now I have little time to waste and I've already wasted it too much on this "problem" Thanks.

  • Small issue with custom table cell editor and unwanted table row selection

    I'm using a custom table cell editor to display a JTree. Thing i notice is that when i select a value in the tree pop-up, the pop-up closes (as it should) but then every table row, from the editing row to the row behind the pop-up when i selected the value becomes highlighted. I'm thinking this is a focus issue, but it thought i took care of that. To clairfy, look at this: Before . Notice how the "Straightening" tree item is roughly above the "Stock Thickness" table row? When i select Straightening, this is what happens to my table: After .
    My TreeComboBox component:
    public class TreeComboBox extends JPanel implements MouseListener {
        private JTextField itemField;
        private TreeModel treeModel;
        private ArrayList<ActionListener> actionListeners = new ArrayList<ActionListener>();
        private Object selectedItem;
         * Creates a new <code>TreeComboBox</code> instance.
         * @param treeModel the tree model to be used in the drop-down selector.
        public TreeComboBox(TreeModel treeModel) {
            this(treeModel, null);
         * Creates a new <code>TreeComboBox</code> instance.
         * @param treeModel the tree model to be used in the drop-down selector.
         * @param selectedItem tree will expand and highlight this item.
        public TreeComboBox(TreeModel treeModel, Object selectedItem) {
            this.treeModel = treeModel;
            this.selectedItem = selectedItem;
            initComponents();
         * Returns the current drop-down tree model.
         * @return the current <code>TreeModel</code> instance.
        public TreeModel getTreeModel() {
            return treeModel;
         * Sets the tree model.
         * @param treeModel a <code>TreeModel</code> instance.
        public void setTreeModel(TreeModel treeModel) {
            this.treeModel = treeModel;
         * Returns the selected item from the drop-down selector.
         * @return the selected tree object.
        public Object getSelectedItem() {
            return selectedItem;
         * Sets the selected item in the drop-down selector.
         * @param selectedItem tree will expand and highlight this item.
        public void setSelectedItem(Object selectedItem) {
            this.selectedItem = selectedItem;
            String text = selectedItem != null ? selectedItem.toString() : "";
            itemField.setText(text);
            setToolTipText(text);
         * Overridden to enable/disable all child components.
         * @param enabled flat to enable or disable this component.
        public void setEnabled(boolean enabled) {
            itemField.setEnabled(enabled);
            super.setEnabled(enabled);
        public void addActionListener(ActionListener listener) {
            actionListeners.add(listener);
        public void removeActionListener(ActionListener listener) {
            actionListeners.remove(listener);
        // MouseListener implementation
        public void mouseClicked(MouseEvent e) {
        public void mouseEntered(MouseEvent e) {
        public void mouseExited(MouseEvent e) {
        public void mousePressed(MouseEvent e) {
        public void mouseReleased(MouseEvent e) {
            showPopup();
        private void initComponents() {
            setLayout(new GridBagLayout());
            itemField = new JTextField();
            itemField.setEditable(false);
            itemField.setText(selectedItem != null ? selectedItem.toString() : "");
            itemField.addMouseListener(this);
            add(itemField, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
                    GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
        private void showPopup() {
            final TreePopup popup = new TreePopup();
            final TreeComboBox tcb = this;
            final int x = itemField.getX();
            final int y = itemField.getY() + itemField.getHeight();
            int width = itemField.getWidth() + popupButton.getWidth();
            Dimension prefSize = popup.getPreferredSize();
            prefSize.width = width;
            popup.setPreferredSize(prefSize);
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    popup.show(tcb, x, y);
                    popup.requestFocusInWindow();
        private void fireActionPerformed() {
            ActionEvent e = new ActionEvent(this, ActionEvent.ACTION_PERFORMED, "TreeComboBoxSelection");
            for (ActionListener listener : actionListeners) {
                listener.actionPerformed(e);
        private class TreePopup extends JPopupMenu {
            private JTree tree;
            private JScrollPane scrollPane;
            public TreePopup() {
                initComponents();
                initData();
            private void initData() {
                if (treeModel != null) {
                    tree.setModel(treeModel);
            private void initComponents() {
                setFocusable(true);
                setFocusCycleRoot(true);
                tree = new JTree();
                tree.setRootVisible(false);
                tree.setShowsRootHandles(true);
                tree.setFocusable(true);
                tree.setFocusCycleRoot(true);
                tree.addTreeSelectionListener(new TreeSelectionListener() {
                    public void valueChanged(TreeSelectionEvent e) {
                        tree_valueChanged(e);
                scrollPane = new JScrollPane(tree);
                add(scrollPane);
            private void tree_valueChanged(TreeSelectionEvent e) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
                setSelectedItem(node.getUserObject());
                fireActionPerformed();
                this.setVisible(false);
    }My TreeComboBoxTableCellEditor:
    public class TreeComboBoxTableCellEditor extends AbstractCellEditor implements TableCellEditor, ActionListener {
        protected TreeComboBox treeComboBox;
        protected ArrayList<CellEditorListener> cellEditorListeners = new ArrayList<CellEditorListener>();
        public TreeComboBoxTableCellEditor(TreeComboBox treeComboBox) {
            this.treeComboBox = treeComboBox;
            treeComboBox.addActionListener(this);
        public Object getCellEditorValue() {
            return treeComboBox.getSelectedItem();
        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
            treeComboBox.setSelectedItem(value);
            return treeComboBox;
        public void actionPerformed(ActionEvent e) {
            stopCellEditing();
    }Any thoughts?
    Edited by: MiseryMachine on Apr 3, 2008 1:21 PM
    Edited by: MiseryMachine on Apr 3, 2008 1:27 PM

    As I said, you have to have empty context elements before additional rows will be open for input.
    For instance if you want to start with 5 rows available for input do the following to your internal table that you will bind:
    data itab type standard table of sflight.
    do 5 times.
      append initial line to itab.
    enddo.
    context_node->bind_table( itab ).
    The other option if you need n number of rows is to add a button to the table toolbar for adding more rows. When this button is pressed, you add a new context element to the node - thereby creating a new empty row in the table.

  • Disabling multiple row selection in JTable

    hi,
    I have a JTable and I want to disable the multiple row selection.
    I used
    getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);and this working fine with ctr+clicking on a row
    but if i am using shift key instead of Ctrl key multiple selection is possible....
    Any idea y?and how to resolve it??
    thnx
    ~neel

    Use table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);I don't know if it differs but I use it and I don't have the problems you describe. Might be a bug in your Java version?!
    Message was edited by:
    pholthuizen

  • ADF Faces 10g af:table row selection using SHIFT Key

    Hello,
    Is there a simple way in 10G af:table with multiple selection facet to enable selecting multiple rows of a table by selecting one row, holding the SHIFT key down, selecting another row way down, and having all the rows in the middle be automatically selected?
    So, this is essentially equivalent to "Select Range" Capability.
    Thank you for any information.

    I think the simple answer to your question is, no.
    In 11g, I think the answer is, yes; but you probably already knew that.
    You might consider altering the keySet associated with the table related to the multi-select checkbox facet. You could have some section above the table that selects these check boxes based on some entered filter criteria. The keySet is a little weird though. You might check out its usage in SRDemo Application Module Impl class code which deletes over this keyset, and work backwards from there.

  • Disable Multiple Row Selection in REUSE_ALV_GRID_DISPLAY

    How can I disable multiple rows from being selected in an ALV grid that is created using REUSE_ALV_GRID_DISPLAY?
    I do not see a selection mode option in the Layout for this Func Mods

    Hi John,
    You can use NO_ROWMARK of layout structrue in REUSE_ALV_GRID_DISPLAY_LVC instead. It's still SLIS type-pools in use, though.
    Check [Vijay's bottom most post|Is it possible to color a text in ALV GRID; how to use this fm.
    Regards
    Marcin
    PS: Sorry I mixed it up. I thought you want to suppress selection at all. For your request therefore SEL_MODE = 'B' of layout strcuture is what you need. Above fm still applies.
    Edited by: Marcin Pciak on Jul 30, 2009 11:16 PM

  • [SOLVED :)] Need help with adf table row selection

    Hi,
    In my application I am displaying results in a table. The DisplayRow property of table is set to Selected
    There are Next and Back buttons which help user to view details associated to the next/previous rows.
    I am using ADF 11g
    When user clicks Next or Previous button, then the selection of the row should also gets updated
    To achieve this i wrote below piece of code:
    this.tblS.getSelectedRowKeys().clear();+
    this.tblS.setRowIndex(count);+
    RowKeySet rks =  tblS.getSelectedRowKeys();+
    rks.add(tblS.getRowKey());+
    rks =  tblS.getSelectedRowKeys();+
    ISSUE:_
    When i run application and click Next/Previous Button, all functionalities do take place properly, but a null pointer exception is also thrown._+
    If i remove DisplayRow property of table from Selected to Default, every thing works good and no Exception is thrown_+       
    But as records in my table are going to be around 50-60 everytime, i need to set DisplayRow property of table to Selected.
    Is there any way to achieve this? Solve this problem?
    Some more details:_
    I am using a POJO class to create DataController. This DataController is having a view Object which is used to create results table.
    I have defined Primary key for my POJO Data Controller.
    Here is code of xml file:*
    +<?xml version="1.0" encoding="UTF-8" ?>+
    +<JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="11.1.1.52.5"+
    id="ProductListBean" Package="xxadf.mm.resources"
    BeanClass="xxadf.mm.resources.ProductListBean"
    isJavaBased="true">
    +<Attribute Name="Product" Type="java.lang.String" PrimaryKey="true"/>+
    +<Attribute Name="Stock" Type="java.lang.String"/>+
    +<Attribute Name="Rate" Type="java.lang.String"/>+
    +<Attribute Name="Accuracy" Type="java.lang.String"/>+
    +<Attribute Name="Details" Type="java.lang.String"/>+
    +<ConstructorMethod IsCollection="true"+
    Type="xxadf.mm.resources.ProductListBean"
    BeanClass="xxadf.mm.resources.ProductListBean"
    id="ProductListBean"/>
    +</JavaBean>+
    Error Log:*
    SEVERE: Server Exception during PPR, #1
    java.lang.NullPointerException
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.getRowIndex(RowDataManager.java:200)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.getRowIndex(FacesCtrlHierBinding.java:506)
    at org.apache.myfaces.trinidad.component.UIXIterator._fixupFirst(UIXIterator.java:414)
    at org.apache.myfaces.trinidad.component.UIXIterator.__encodeBegin(UIXIterator.java:392)
    at org.apache.myfaces.trinidad.component.UIXTable.__encodeBegin(UIXTable.java:168)
    at org.apache.myfaces.trinidad.component.UIXCollection.encodeBegin(UIXCollection.java:517)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeHorizontalChild(PanelGroupLayoutRenderer.java:458)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$100(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:618)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:560)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:317)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:392)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$300(PanelGroupLayoutRenderer.java:30)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:641)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:560)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:317)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer.access$100(ShowDetailItemRenderer.java:31)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer$ChildEncoderCallback.processComponent(ShowDetailItemRenderer.java:491)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer$ChildEncoderCallback.processComponent(ShowDetailItemRenderer.java:464)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer._encodeChildren(ShowDetailItemRenderer.java:406)
    at oracle.adfinternal.view.faces.renderkit.rich.ShowDetailItemRenderer.encodeAll(ShowDetailItemRenderer.java:114)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at oracle.adf.view.rich.render.RichRenderer.encodeStretchedChild(RichRenderer.java:1523)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer.access$500(PanelTabbedRenderer.java:38)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer$BodyEncoderCallback.processComponent(PanelTabbedRenderer.java:969)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer$BodyEncoderCallback.processComponent(PanelTabbedRenderer.java:920)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:125)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:201)
    at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:167)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer._renderTabBody(PanelTabbedRenderer.java:519)
    at oracle.adfinternal.view.faces.renderkit.rich.PanelTabbedRenderer.encodeAll(PanelTabbedRenderer.java:233)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    at oracle.adfinternal.view.faces.renderkit.rich.FormRenderer.encodeAll(FormRenderer.java:221)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:415)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:432)
    at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:820)
    at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1187)
    at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:751)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1494)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:771)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
    at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:202)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:685)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:261)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:193)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
    at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3588)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Please Help I have been struggling with this issue for long.
    Thanks and Regards
    Manav Ratra
    Edited by: user11255144 on Feb 8, 2010 5:33 AM

    Hi Arun,
    Thanks for replying.
    Actually in my application there is one result table and a section that is displaying complete details of the product selectd in result table.
    The next/previous buttons are not binded with result table.
    What I am doing is, I am puuliing data from VO and displaying it on form, whenever any of these buttons is clicked.
    As soon as these buttons are clicked data is coming up, but selection state of table is not getting updated.
    So to update selection state i wrote piece of code described in my previous post.
    Everything works fine if displayRow property of table is not set to selected.
    If i set display row property of table to selected, then i get a null pointer exception with message log defined in previous post.
    Although NPE is thrown, yet all data is properly fetched and table selection is also updated. But am not able to get how this NPE is coming and hpw to fix it .
    (I need to keep displayRow = selected, for all other cases NPE is not thrown)
    Please help..
    Thanks and Regards
    Manav Ratra

  • Disable DataGrid row selection for a column?

    Hi,
    I have a DataGrid with a CheckBox in one column. When the CheckBox itself is clicked, or any point in the CheckBox column
    is clicked, I *don't* want the grid row selected. IOW, row selection should be disabled for the column. How to get this behavior?
    Thanks, Garry

    Hi All,
    I do have almost similar requirement where I have image overlay-ed on row, on whose click a context menu should appear but row should not get selected.
    Row selection should happen if user clicks elsewhere on that row (apart from overlayed image).
    I tried below lines in MouseClick event listeners.
    event.stopImmediatePropagation();
      event.stopPropagation();
    Above lines stopped itemClick event but didnt prevent the row selection.
    Regards,
    Pavan

  • How to enable /disable the row in ALV?

    Hi Experts,
    I have gone through some threads on this but I did not find useful to my requirement.
    My requirement is:
    Consider two columns : one is set delete column (a button) and another editable field.
    When the user presses on set delete button. The editable field should be disabled and it should be enabled whenever the user presses the button again.
    Kindly let me know the solution.
    Thanks.

    Hi,
    As i am also new to web dynpro abap. I found it a gud thing to learn about ALV grid.
    So, I tried doing it like that and found that its not at all difficult.
    Here is the procedure that i followed.
    1. Create a context node with two attribute from any table structure and one attribute of type wdy_boolean for controlling the
        enable property of input field.
    2. i used the supply function to fill the node. Here is the code for the same.
    data lt_dealer type wd_this->Elements_zdealer.             "My node name is zdealer
    DATA ls_dealer LIKE LINE OF lt_dealer.
    select * from zdealer into corresponding fields of table lt_dealer.
    loop at lt_dealer into ls_dealer.
      ls_dealer-enable = abap_true.                             "to enable all the fields initially
      modify lt_dealer from ls_dealer.
      endloop.
    node->bind_table( lt_dealer ).
    3. create view container UIelment in the view and embed table view of the ALV used comp.
    4.  add interface controller of SALV_WD_TABLE to the used controller in the view and also add comp controller of our
    local comp to the used controller list of interface contrl of Used comp. And then map the data node to the node we have filled in
    the supply function.
    5. go to the wddoinit method to configure the ALV grid. means adding button and input field and binding the enable property of
    input field. Here is the code for the same.
    data lo_cmp_usage type ref to if_wd_component_usage.
      lo_cmp_usage =   wd_this->wd_cpuse_alv( ).
      if lo_cmp_usage->has_active_component( ) is initial.
        lo_cmp_usage->create_component( ).
      endif.
      DATA lo_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
      lo_INTERFACECONTROLLER =   wd_this->wd_cpifc_alv( ).
        DATA lo_value TYPE ref to cl_salv_wd_config_table.
        lo_value = lo_interfacecontroller->get_model(
    lo_value->IF_SALV_WD_TABLE_SETTINGS~SET_CELL_ACTION_EVENT_ENABLED( abap_true ).
    lo_value->IF_SALV_WD_TABLE_SETTINGS~SET_READ_ONLY( ABAP_FALSE ).
    data btn type ref to cl_salv_wd_uie_button.
    data inp type ref to cl_salv_wd_uie_input_field.
    data col1 type ref to cl_salv_wd_column.
    data col type ref to cl_salv_wd_column.
    data col2 type ref to cl_salv_wd_column.
    call method lo_value->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN
    exporting
      id = 'NAME'                         "col name is NAME (col with button)
      receiving
      value = col.
    call method lo_value->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN
    exporting
      id = 'LOCATION'                "col name is LOCATION (col with input field)
      receiving
      value = col1.
    call method lo_value->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN
    exporting
      id = 'ENABLE'                   "this col is used to control the enable property of input field and we will make it invisible.
      receiving
      value = col2.
    create object btn.
    CREATE OBJECT INP
    EXPORTING
      VALUE_FIELDNAME = 'LOCATION'.
    inp->set_enabled_fieldname( 'ENABLE' ).
    COL1->SET_CELL_EDITOR( INP ).
    btn->SET_TEXT_FIELDNAME( 'NAME' ).
    col->set_cell_editor( btn ).
    col2->set_visible( '01' ).                     " making the enable col invisible
    Now you need to create one eventhanlder for the action of cell action.
    for this create an eventhandler and then even col there select ON_CELL_ACTION for the inerface cntrl of ALV.
    now write the code in this eventhandler for enabling or disabling the input field after checking the current value and
    row number from which the button was clicked. code for the same.
    DATA lo_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
      lo_INTERFACECONTROLLER =   wd_this->wd_cpifc_alv( ).
        DATA lo_value TYPE ref to cl_salv_wd_config_table.
        lo_value = lo_interfacecontroller->get_model(
    data inp type ref to cl_salv_wd_uie_input_field.
    data col1 type ref to cl_salv_wd_column.
    data str type string.
    str = R_PARAM->COLUMN.
    data indx type i.
      indx = r_param->index.               " this will get the row number
      DATA lo_nd_zdealer TYPE REF TO if_wd_context_node.
      DATA lo_el_zdealer TYPE REF TO if_wd_context_element.
      DATA ls_zdealer TYPE wd_this->element_zdealer.
      DATA lv_value LIKE ls_zdealer-enable.
    * navigate from <CONTEXT> to <ZDEALER> via lead selection
      lo_nd_zdealer = wd_context->get_child_node( name = wd_this->wdctx_zdealer ).    
    lo_el_zdealer = lo_nd_zdealer->get_element( index = indx ).     " get the corresponding element.
    lo_el_zdealer->get_attribute(
        EXPORTING
          name =  `ENABLE`
      importing
          value = lv_value ).
    IF str EQ 'NAME'.
      if lv_value eq abap_true.
    lo_el_zdealer->set_attribute(
        EXPORTING
          name =  `ENABLE`
          value = abap_false ).
    else.
      lo_el_zdealer->set_attribute(
        EXPORTING
          name =  `ENABLE`
          value = abap_true ).
      endif.
    ENDIF.
    this will solve it.
    Thanks and Regards,
    Sarbjeet singh

  • Is it possible to increment the table rows automatically?

    In my HTML page I created one table with some columns but i'm unable to write code for incrementing the rows dynamically....
    i.e.. soon after entering the data in the last column, a new row should be automatically created by pressing enter key (without using any buttons it should create new row).... Is it possible...

    I don't think so. You have to trigger an js event to create a new row, I guess. You may need to write lot of javascript code. You can look for some third party grid controls.

  • ALV Web Dynpro for ABAP enable/disable single row

    hi all,
    is it possible to change the layout of one single row or cell in a alv (component SALV_WD_TABLE) web dynpro for abap?
    i managed to get columns to be editable using the tutorial "Editing ALV in Web Dynpro for ABAP".
    but it is not described how to change a single row or cell in this tutorial. also the example programs i found do not get into this subject.
    did i miss something?
    thanks in advance

    Hi,
    I think you cannot set the focus to the particular cell.
    I think you can  loop at that row of that table and set the the cell design to apply some color to differentiate that way rather than focusing so that user can know that he has to do something in that cell.
    check out this example salv_wd_test_table_focus
    Regards,
    Lekha.

  • Is it possible to validate a table row as a single entity?

    JDeveloper - 11.1.1.6
    WLS - 10.3.5
    I have a requirement to validate a row in a table as a single entity. A database procedure will be passed the values from a given row and several validations performed. There are some field-level validations in the row as well. I had planned to expose an AM method that calls the procedure and then highlights the bad fields.
    How can I fire this row validation when the user has completed their edits (clicked off of the current row)? Is there some event I can listen for?
    I guess I can have a selectionListener that saves the current row key and when the current row key is different from the saved row key call the validation procedure for the saved row?
    Thanks!

    That certainly seems much more straight forward.
    Thinking more about this more, would it be best to call the validation method from prepareForDML? Or would overriding the validate method and calling from there be a better option?
    I am still fairly new to ADF and still trying to grasp some concepts.
    Thanks.
    Edited by: errodr on May 15, 2013 5:45 AM

Maybe you are looking for

  • How to view cc files on a computer that only has photoshop cs6

    I have the new version of photoshop on my computer that only allows me to save files as: photoshop cc.  However, I would like to transfer these files to view on a computer, which is at school, that only allows me to view files from photoshop cs6 or o

  • UltraWide Resolution Possible on MBA 2013?

    I ordered a Mini DisplayPort to HDMI cable in hopes of using my LG 29EA93 monitor. To my dismay, the MacBook Air 2013 refuses to output to UltraWide 2560x1080 resolution. Am I doing something wrong? Any workarounds? Or am I just stuck with using the

  • Failure to consistently connect to network.

    I have several MacBooks, iPhones, Apple TV's and a couple of other devices all connecting to my home network.  I just purchased two new Airport Extremes and an Airport Express.  They are all hardwired to a time capsule that is connected to my cable m

  • Simple, Easy Tutorial/Guide on Transcoding Video Clips into DVD-Video

    I have purchased the combo of Photoshop Elements 9 and Premier Elements 9. I am new to these programs. I printed the entire 300 + pages of the Premier Elements 9 user guide off of the adobe website. I am totally overwhelmed by all the features and ha

  • Can not migrate user to new machine

    I'm trying to transfer a user from a g4 400 laptop to a new ibook. When i get to the migration assistant and connect the laptop via firewire here's what happens: i get a spinning ball. at first it would see the disk and attempt to list the info and i