WDA Consume UI events (table selection)

Hello,
I have the following situation:
I have a table (populated by supp-method A) and some other UI elements (populated by supp-method B showing additional information / details to the table entry).
Supp-method B is executed anytime the lead selection of the table changes.
If some of these values in the underlying UI elements are changed, I'd like to prompt the user with a "Save"-dialog if he changes the lead selection of the table. Unlikely the PopUp dialog runs asynchronously and the change to the lead selection occurs in the background while the PopUp dialog is being displayed. I can avoid the execution of the supp-method B (so the data isn't lost), but the lead selection is still on the wrong table line.
Is there a way to "consume" or redirect the events provided by UI elements (similar to the IF_WD_COMPONENT->CANCEL_NAVIGATION( ) method) ?
Best Regards
  Waldemar

Hi Waldemar
To avoid changing of lead-selection in background that you mentioned
you can try to set 'selectionChangeBehaviour' property to MANUAL. The following passage is from help.
This selection change behaviour determines that the table does not change its data source's lead selection upon user interaction, but only fires the onLeadSelect event. It is the event handler's responsibility to actually change the lead selection, or else the table will not be functional in a master-detail scenario. This behaviour allows application code to first evaluate if a lead selection change is to be allowed or not.
BR
Sergei

Similar Messages

  • How to handle value change events of select list in custom component?

    My HelloUIComp code...How to handle events for "Select"...if i choose option1 from select then one text box is to be displayed in custom component and if i choose another option then some other text box is to be displayed in custom components...
    public class HelloUIComp extends UIComponentBase {
        public static final String account="custom.account";
        public static final String RENDERER_TYPE = null;
        HtmlCommandButton button = createButton();
        //HtmlSelectOneMenu select=createSelect();
        public void processDecodes(FacesContext context) {
             Calling the lifecycle method "processDecodes" on the
             internal button is absolutely critical to create action events
             button.processDecodes(context);
             super.processDecodes(context);
        private HtmlCommandButton createButton() {
             FacesContext context = FacesContext.getCurrentInstance();
             HtmlCommandButton newButton = new HtmlCommandButton();
             newButton.setId("Add");
             newButton.setValue("Add");
             newButton.setType("submit");
             //newButton.setOnclick("return func_1(this,event);");
             MethodBinding binding = context.getApplication().createMethodBinding("#{pc_MyProjectView.go}", null);
             newButton.setAction(binding);
                  newButton.setParent(this);
             return newButton;
      /*  private HtmlSelectOneMenu createSelect()
             HtmlSelectOneMenu selectCategory=createSelect();
             return selectCategory;
         public void encodeBegin(FacesContext context) throws IOException {
              String style = (String)getAttributes().get("style");
              String startdate = (String)getAttributes().get("startdate");
              String enddate = (String)getAttributes().get("enddate");
              //String add=(String)getAttributes().get("add");
              ResponseWriter writer = context.getResponseWriter();
             writer.startElement("table", this);
            writer.writeAttribute("border","2","2");
            writer.startElement("tbody", this);
            writer.startElement("tr", this);
            writer.startElement("td", this);
            writer.writeText("Account Category", null);
            writer.endElement("td");
              writer.startElement("td", this);
              writer.writeText("Reg-No", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("Account-No", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("Start-Date", null);
              writer.endElement("td");
              writer.startElement("td", this);
            writer.writeText("End-Date", null);
              writer.endElement("td");
              writer.endElement("tr");
              writer.startElement("tr",this);          
              writer.startElement("td", this);
              writer.startElement("select", this);
            if (style!=null)
                   writer.writeAttribute("style", style, null);
            writer.writeAttribute("name","category","category");
            writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              //to access data
              Account accountObj;
              AccountData accountDataobj;
              List listOfAccounts;
              int noOfAccounts;
              accountDataobj=new AccountData();
              listOfAccounts=accountDataobj.getAccounts();
              noOfAccounts=listOfAccounts.size();
              for(int i=0;i<noOfAccounts;i++)
              writer.startElement("option", this);     
              accountObj=(Account) listOfAccounts.get(i);
              writer.writeText(accountObj.getCategory(), null);
              writer.endElement("option");
              //System.out.println(accountObj.getRegNo());
              //System.out.println(accountObj.getAccountNo());
              writer.endElement("select");
              writer.endElement("td");
            writer.startElement("td", this);
              writer.startElement("select", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("name","regno","regno");
              writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              for(int i=0;i<noOfAccounts;i++)
              accountObj=(Account) listOfAccounts.get(i);     
              writer.startElement("option", this);
              writer.writeText(""+accountObj.getRegNo(), null);
              writer.endElement("option");
              writer.endElement("select");
              writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("select", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("name","accno","accno");
              writer.startElement("option", this);
              writer.writeText("Select", null);
              writer.endElement("option");
              for(int i=0;i<noOfAccounts;i++)
              accountObj=(Account) listOfAccounts.get(i);
              writer.startElement("option", this);
              writer.writeText(accountObj.getAccountNo(), null);
              writer.endElement("option");
              //writer.startElement("option", this);
              //writer.writeText("00200155", null);
              //writer.endElement("option");
              writer.endElement("select");
              writer.endElement("td");
              writer.startElement("td", this);
              button.encodeBegin(context);
             button.encodeChildren(context);
             button.encodeEnd(context);
            writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("input", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("type","text","text");
              writer.writeAttribute("name","startdate","startdate");
              writer.writeAttribute("value",startdate,startdate);
              writer.writeAttribute("readonly", "","");
              //writer.endElement("input");
              writer.endElement("td");
              writer.startElement("td", this);
              writer.startElement("input", this);
              if (style!=null)
                   writer.writeAttribute("style", style, null);
              writer.writeAttribute("type","text","text");
              writer.writeAttribute("name","enddate","enddate");
              writer.writeAttribute("value",enddate,enddate);
              writer.writeAttribute("readonly", "","");
              writer.endElement("td");
              writer.endElement("tr");
              writer.endElement("tbody");
              writer.endElement("table");
         public String getFamily() {
              return "HelloFamily";
         }

    NewEclipseCoder wrote:
    How to handle events for "Select"...if i choose option1 from select then one text box is to be displayed in custom component and if i choose another option then some other text box is to be displayed in custom components...Two ways:
    1) submit the form to the server and render the desired textbox depending on the option.
    or
    2) render all textboxes and use Javascript/DOM to display/hide them depending on the option.

  • How to handle table selection

    In the uix guidelines i found the following example on how to handle table selection:
    public static EventResult doSelectionEvent(BajaContext bc, Page page,
    PageEvent event)
    DataObject tableRows = new PageEventFlattenedDataSet(event, "table1");
    int index = SelectionUtils.getSelectedIndex(tableRows);
    String name = "Nothing Selected";
    // make sure that something was selected:
    if (index>=0)
    DataObject row = TABLEDATA.getItem(index);
    name = row.selectValue(null, "name").toString();
    EventResult result = new EventResult(page);
    result.setProperty("action", event.getName());
    result.setProperty("name", name);
    return result;
    It is not clear to me what TABLEDATA is.
    I read in some other thread that it is a DataObjectList and it represents the 'stored dataObjects'.
    I suppose '_TABLE_DATA' is not real code, may i ask for an example with real code to understand what it is?
    Thanks.

    This code works for me, I hope it is useful.
    (NB: i fear you will not read correctly the line
    with the getRowAtRangeIndex instruction. It's a problem with the editor).
    Mauro
    package view;
    import javax.servlet.http.HttpServletRequest;
    import oracle.adf.controller.struts.actions.DataActionContext;
    import oracle.adf.controller.struts.actions.DataForwardAction;
    import oracle.cabo.ui.beans.table.SelectionUtils;
    import oracle.cabo.ui.data.ServletRequestDataSet;
    import oracle.jbo.ApplicationModule;
    import oracle.jbo.Row;
    import oracle.jbo.ViewObject;
    public class GestEsAction extends DataForwardAction
    // To handle an event named "yourname" add a method:
    // public void onYourname(DataActionContext ctx)
    public void onValida(DataActionContext ctx)
    ServletRequestDataSet ds = new ServletRequestDataSet(req,"ReEsamiRichView12");
    int[] indices = SelectionUtils.getSelectedIndices(ds);
    ApplicationModule am = ctx.getBindingContainer().
    getApplicationModule();
    ViewObject vo = am.findViewObject("ReEsamiRichView1");
    int len = indices.length;
    String idEsameRich, currStato;
    for(int i=0; i<len; i++)
    Row row = vo.getRowAtRangeIndex(indices);
    idEsameRich = row.getAttribute("IdEsameRich").toString();
    currStato = row.getAttribute("Stato").toString();
    if (currStato.equals("E"))
    row.setAttribute("Stato","V");
    am.getTransaction().commit();
    // To override a method of the lifecycle, go to
    // the main menu "Tools/Override Methods...".

  • Bug in the table selection size

    An annoying bug in Table controls (LV 8.5/Windows XP/ MacOS 10.5)
    When dealing with whole rows/colums (click in the row/column header), the Table Selection Size is always wrong :
    when columns are selected, the overall table size is returned,
    when rows are selected, the right row number is returned, but the column number is set to 1 !..
    The attached vi shows the problem.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Table select bug.vi ‏17 KB

    Since this bug was a showstopper for my application, I spent some time trying to find a workaround...
    Found one by accident. I don't understand why it works : it should not do anything :
    Detect a mouseUp event in the row/column headers, then read the Selection start position and write it back in the... Selection start position (ie : do nothing) ! That's enough to get the right value out of the Selection size...
    The attached vi illustrate the above story.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Table select bug.vi ‏28 KB

  • Does WCF-OracleDB adapter support XMLType data for table select operation

    I am getting this error When I do the consume adapter service for Oracle table select operation on one of the tables which has XMLType column. It's working fine for other tables. 
    Microsoft.ServiceModel.Channels.Common.MetadataException: Retrieval of Operation Metadata has failed while building WSDL at 'http://Microsoft.LobServices.OracleDB/2007/03/XXXX/Table/table_name/Select' ---> Microsoft.ServiceModel.Channels.Common.MetadataException:
    Incorrect Type: XMLTYPE. Possible causes: 1. Permission issue 2. Unsupported type.
       at Microsoft.Adapters.OracleDB.OracleCommonMetadataResolverHandler.ResolveTypeMetadata(String nodeId, TimeSpan timeout, TypeMetadataCollection& extraTypeMetadataResolved)
       at Microsoft.ServiceModel.Channels.Common.Design.MetadataCache.GetTypeMetadata(String uniqueId, Guid clientId, TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.MetadataLookup.GetTypeDefinition(String typeId, TimeSpan timeout)
       at Microsoft.Adapters.OracleDB.OracleCommonMetadataResolverHandler.ResolveTypeMetadata(String nodeId, TimeSpan timeout, TypeMetadataCollection& extraTypeMetadataResolved)
       at Microsoft.ServiceModel.Channels.Common.Design.MetadataCache.GetTypeMetadata(String uniqueId, Guid clientId, TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.MetadataLookup.GetTypeDefinition(String typeId, TimeSpan timeout)
       at Microsoft.Adapters.OracleDB.OracleCommonMetadataResolverHandler.ResolveOperationMetadata(String operationId, TimeSpan timeout, TypeMetadataCollection& extraTypeMetadataResolved)
       at Microsoft.ServiceModel.Channels.Common.Design.MetadataCache.GetOperationMetadata(String uniqueId, Guid clientId, TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.Design.WsdlBuilder.SearchBrowseNodes(MetadataRetrievalNode[] nodes, WsdlBuilderHelper helper, TimeoutHelper timeoutHelper)
       --- End of inner exception stack trace ---
    Server stack trace: 
       at Microsoft.ServiceModel.Channels.Common.Design.AdapterExceptions.ThrowMetadataException(String errorMessage, Object arg, Object source, Exception innerException)
       at Microsoft.ServiceModel.Channels.Common.Design.WsdlBuilder.SearchBrowseNodes(MetadataRetrievalNode[] nodes, WsdlBuilderHelper helper, TimeoutHelper timeoutHelper)
       at Microsoft.ServiceModel.Channels.Common.Design.WsdlBuilder.GenerateOperationSchemas(WsdlBuilderHelper helper, MetadataRetrievalNode[] nodes, TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.Design.WsdlBuilder.GetWsdl(MetadataRetrievalNode[] nodes, Uri uri, TimeSpan timeout)
       at Microsoft.Adapters.OracleCommon.OracleCommonWsdlRetrieval.Microsoft.ServiceModel.Channels.Common.IWsdlRetrieval.GetWsdl(MetadataRetrievalNode[] nodes, Uri uri, TimeSpan timeout)
       at Microsoft.ServiceModel.Channels.Common.Design.MetadataExchanger.ProcessMetadataGet(Message message, Uri target, TimeSpan timeout, MetadataLookup metadataLookup)
       at Microsoft.ServiceModel.Channels.Common.Design.MetadataExchanger.ProcessMetadataMessage(Message message, Uri target, TimeSpan timeout, MetadataLookup metadataLookup, Message& replyMessage)
       at Microsoft.ServiceModel.Channels.Common.Channels.AdapterRequestChannel.Request(Message message, TimeSpan timeout)
       at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    Exception rethrown at [0]: 
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at Microsoft.ServiceModel.Channels.IMetadataRetrievalContract.GetMetadata(MetadataRetrievalNode[] nodes)
       at Microsoft.ServiceModel.Channels.Tools.MetadataSearchBrowse.MetadataPanel.GetWsdl(MetadataRetrievalNode[] nodes)
       at Microsoft.ServiceModel.Channels.Tools.MetadataSearchBrowse.MetadataPanel.btnProperties_Click(Object sender, EventArgs 
    My table has XMLType column which is also included for select.
    Thanks

    Hi Van&boatseller,
    The duplicate thread has been deleted, and thanks for your feedback.
    Best regards
    Angie Xu
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How  can i get the event of selected PageItem in ActionScript

    hi,
    when i select the pageitem on document then i want the event of that pageitem .
    Is there a possibility to get that event ?
    best thanks for any hint.
    govind

    Marcel,
    Please consult the "Tables" chapter in the UIX Developer's Guide. You can search for a method titled "doSelectionEvent" that will indicate how to deal with table selections.
    Hope this helps,
    Ryan Pollock

  • How to Process event when select ALV mark ?

    Hi.
    The Screen have ALV data.
    How to Process event when select ALV mark ?
    Regards.
    LY.

    EVENT
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = it_events[]
        EXCEPTIONS
          list_type_wrong = 1
          OTHERS          = 2.
    IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      READ TABLE it_events WITH KEY name = slis_ev_top_of_page
                                    INTO it_events.
      IF sy-subrc = 0.
        MOVE t_formname_top_of_page TO it_events-form.
        APPEND it_events.
      ENDIF.
    ALV
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          it_fieldcat        = it_fieldcat
          it_events          = it_events[]
          i_callback_program = sy-repid
          is_layout          = gs_layout
          i_save             = g_save
          is_variant         = gx_variant
        TABLES
          t_outtab           = i_data[].

  • Producer Consumer & User Events with user input windows

    Hello All,
    I am planning to build Labview code using the Producer Consumer & User events pattern, the application needs multiple user input windows for things like personal data, feature selection etc, there could be around 15 or 20 distincts screen/panels required.
    The main question from me is... Is there a best practive approach to navigating/loading from one window to another etc, and also providing a way to to retrun to the previous window.
    Also I may need need to be running some slow logging and control hardware in the background while navigating some of the screens, this seems like the producer consumer vi will be running in the background while the user input causes a load/display window event.
    A simple Producer Consumer multiple winjdoow example would be very welcome. Thanks.
    Regards Chris

    I will second Mike's suggestion to use a central VI with subpanel(s).  It is usually less confusing than multiple windows.  Typically, the selection/navigation mechanism is on the left of the main panel, global info (like help) on the right, and the subpanel(s) in the center.
    The advantage of subpanels/subVIs is that you can launch your subVIs and keep them active in the background, even though they are not being used.  This means they will keep their state information and load into the subpanel almost instantaneously the next time you need them.  For a short tutorial on subpanels, check out this link.  Scroll down to the fourth reply for working code.  The original code posted is broken.
    Communication between your VIs or loops is typically done with either queues or event structures.  State information in each should be shift registers in the respective VIs.  If you have the time, I would highly recommend you learn how to use LabVIEW classes.  The command pattern is tailor made for this kind of application.
    Finally, avoid global data if you can.  Global data is anything that you can get to from anywhere (globals, functional globals, etc.).  Use of these can speed your development, but can also lead to sloppy design which will cause you major problems later.  If you really need globally available data, use a data value reference.  It is unnamed and requires a reference, which tends to enforce better programming practice.  Yes, there are instances where you truly need globally available, named data, but they are fairly rare.  You should only use them if you are experienced and really know what you are doing.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Calling 'show hide' event from 'select' event

    Hi all,
    is it possible to call an event from another event?
    Can i call the 'show hide' event from the 'select' event to disclose the selected row?
    As a sidenote: is it possible to remove the show/hide button/link but to retain the show/hide functionality?
    Thanks in advance....
    Regards,
    Robert

    Hi Gabrielle,
    Yes indeed... the row information is sent... the 'select' event i'm refferring to is the one generated when you drag a viewobject as a readonly table to a UIX datapage...
    It is generated initially as
    <event name="select" source="EmpView10">
        <set target="${bindings.EmpView1Iterator}" property="currentRowIndexInRange" value="${ui:tableSelectedIndex(uix, 'EmpView10')}"/>
    </event>However i must have made a typo last time as it works now... ohwell.. made some changes and submitted the selected row as parameter using
        <invoke method="handleEvent" javaType="view.DisclosureEventHandler">
            <parameters>
                <!-- Selected row -->
                <parameter javaType="java.lang.String" value="${ui:tableSelectedIndex(uix, 'EmpView10')}" />
                <!-- SessionScope attribute to put detailDisclosure in -->
                <parameter javaType="java.lang.String" value="detailDisclosure" />
                <!-- All the other stuff -->
                <parameter javaType="oracle.cabo.servlet.expl.ControllerImplicitObject" value="${uix}"/>
            </parameters>
    </invoke>This works more cleanly and can be reused...
    Thanks for your replies... it always helps when someone is thinking along... it makes you takes some crossroads you wouldn't think of...
    Regards,
    Robert

  • In the af:table selected row need to display in the next page?

    Hi,
    I am using jdev 11.1.2.3.0.
    I tried one sample application, in that jspx page, I am having the af:table and button in my view activity. In that table select one row and click on the button that time, the navigation page always show the first row. Suppose I select the 5th ro and navigate the page also displaying the first row only. So I don't know how to proceed this? Kindly suggest me.
    Regards,
    Ragu

    Hi Timo,
    I used the selectionListener tag also.
    Anyway Here I posted my jspx page.
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document title="EmployeesView.jspx" id="d1">
    <af:messages id="m1"/>
    <af:form id="f1">
    <af:panelCollection id="pc1">
    <f:facet name="menus"/>
    <f:facet name="toolbar">
    <af:toolbar id="t2">
    <af:commandButton text="Edit Employee" id="cb1" action="Edit" />
    </af:toolbar>
    </f:facet>
    <f:facet name="statusbar"/>
    <af:table value="#{bindings.EmployeesVO.collectionModel}" var="row" rows="#{bindings.EmployeesVO.rangeSize}"
    emptyText="#{bindings.EmployeesVO.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.EmployeesVO.rangeSize}" rowBandingInterval="0"
    filterModel="#{bindings.EmployeesVOQuery.queryDescriptor}"
    queryListener="#{bindings.EmployeesVOQuery.processQuery}" filterVisible="true" varStatus="vs"
    selectedRowKeys="#{bindings.EmployeesVO.collectionModel.selectedRow}"
    selectionListener="#{bindings.EmployeesVO.collectionModel.makeCurrent}" rowSelection="single"
    id="t1">
    <af:column sortProperty="#{bindings.EmployeesVO.hints.EmployeeId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.EmployeeId.label}" id="c1">
    <af:outputText value="#{row.EmployeeId}" id="ot1">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.EmployeeId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.FirstName.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.FirstName.label}" id="c2">
    <af:outputText value="#{row.FirstName}" id="ot2"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.LastName.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.LastName.label}" id="c3">
    <af:outputText value="#{row.LastName}" id="ot3"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.Email.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.Email.label}" id="c4">
    <af:outputText value="#{row.Email}" id="ot4"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.PhoneNumber.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.PhoneNumber.label}" id="c5">
    <af:outputText value="#{row.PhoneNumber}" id="ot5"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.HireDate.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.HireDate.label}" id="c6">
    <f:facet name="filter">
    <af:inputDate value="#{vs.filterCriteria.HireDate}" id="id1">
    <af:convertDateTime pattern="#{bindings.EmployeesVO.hints.HireDate.format}"/>
    </af:inputDate>
    </f:facet>
    <af:outputText value="#{row.HireDate}" id="ot6">
    <af:convertDateTime pattern="#{bindings.EmployeesVO.hints.HireDate.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.JobId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.JobId.label}" id="c7">
    <af:outputText value="#{row.JobId}" id="ot7"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.Salary.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.Salary.label}" id="c8">
    <af:outputText value="#{row.Salary}" id="ot8"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.CommissionPct.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.CommissionPct.label}" id="c9">
    <af:outputText value="#{row.CommissionPct}" id="ot9"/>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.ManagerId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.ManagerId.label}" id="c10">
    <af:outputText value="#{row.ManagerId}" id="ot10">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.ManagerId.format}"/>
    </af:outputText>
    </af:column>
    <af:column sortProperty="#{bindings.EmployeesVO.hints.DepartmentId.name}" filterable="true" sortable="true"
    headerText="#{bindings.EmployeesVO.hints.DepartmentId.label}" id="c11">
    <af:outputText value="#{row.DepartmentId}" id="ot11">
    <af:convertNumber groupingUsed="false" pattern="#{bindings.EmployeesVO.hints.DepartmentId.format}"/>
    </af:outputText>
    </af:column>
    </af:table>
    </af:panelCollection>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    After click the Edit Employee button it should navigate the another page and which record I choose.

  • Missing table selection toolbar in acrobat 9 pro

    Hi,
    I had been using acrobat 6.0 and there was a dedicated table selection toolbar such that when i clicked it, table selection could be done anytime. But in acrobat 9, the table selection has to be done by right clicking each time. This is tiresome as my pdf document have large numbers of tables at different locations. How can i bring the tool back in acrobat 9? or is there another way round so that i dont have to right click each time?
    Please help.

    The table icon left, but to get the same result you simply select the columns with the ALT or Shift key held down (don't remember which one). This option selects text in a region. That might do the job. Typically the ability to get the columns right depends on the table being tagged properly. That might be the issue you are having that the tags do not exist.
    I just printed a PDF from an Excel page and then used the instructions in the manual to copy. It opened in a new Excel page just fine and in a column form. Here are the instructions from the manual for AA9 Pro:
    Copy tables and charts
    If it is not already selected, click the Select tool .
    Highlight the entire table or the rows and columns to copy.
    To force Column Select mode, press Alt as you drag a rectangle over the column of text. 
    Right-click the selection, and choose one of the following options:
    Copy As Table
    Preserves formatting when you copy the table to Excel. In Excel, use the Paste Special command and select XML Spreadsheet.
    Save As Table
    Lets you paste the table to a new file.
    Open Table In Spreadsheet
    Opens the table in a CSV-compliant application, such as Excel.To copy a table in RTF, drag the selected table into an open document in the target application.

  • Enforcing event AT-SELECTION-SCREEN OUTPUT

    Hi Gurus
    Does anybody know how to force event AT-SELECTION-SCREEN OUTPUT ?
    What I'm aiming for is changing screen somewere outside of this event. For example.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_param.
      IF p_param = 'change'.
        changes_in_screen = 'X'.
        *???*   "forcing AT-SELECTION-SCREEN OUTPUT event
      ENDIF.
    AT-SELECTION-SCREEN OUTPUT.
      IF changes_in_screen = 'X'.
        LOOP AT SCREEN.
          "do something
        ENDLOOP.
      ENDIF.
    I would be grateful for any hints.

    One alternative to define two selection screens.  First selection screen (default selection screen of report #1000) having Client_type.  After user hits execute (F8) then show the second selection screen with corresponding parameters.
    PARAMETERS: p_client(1).
    SELECTION-SCREEN BEGIN OF SCREEN 9000 AS WINDOW.
    PARAMETERS: p_name(20),
                p_lname(20),
                p_cname(20),
                p_oname(20).
    SELECTION-SCREEN END OF SCREEN 9000.
    AT SELECTION-SCREEN OUTPUT.
      CHECK sy-dynnr = '9000'.
    *  Hide corresponding fields on second selection screen
    *  based on values of P_CLIENT.
    *  Also should make key parameters obligatory!
    START-OF-SELECTION.
      CALL SELECTION-SCREEN 9000 STARTING AT 5 5.
    Another alternative is to use a dialog/module pool program to handle this.  Such screen field controlling can easily be done in dialog programs because you have full PAI/PBO control, unlike report program selection screen 1000.  Unfortunately in a dialog program it is not easy to reproduce the functionality of a select-option.

  • How to consume key events

    I would like to create a subclass of TextBox that only allows numeric input. My idea was to provide my own onKeyType() handler and consume any key events that do not correspond to digits. However, I can't find any way to consume key events from further processing. How do I do this?
    Are there any other suggestions how to accomplish the task of providing your own filter concerning valid key input?
    /Bengt

    I also wanted a kind of validators for the TextBox class of JavaFX. So I've tried solving the problem using the SwingTextField class and some Java APIs. The following is my code for a SwingTextField accepting only digits, but I do want it to be much simpler.
    import java.awt.AWTEvent;
    import java.awt.event.AWTEventListener;
    import java.awt.event.KeyEvent;
    import java.awt.Toolkit;
    import javafx.ext.swing.SwingTextField;
    import javafx.scene.Scene;
    import javafx.stage.Stage;
    import javax.swing.JComponent;
    class DigitKeyEventHookListener extends AWTEventListener {
        public-init var  source:JComponent;
        public  override function  eventDispatched( event:AWTEvent):Void {
            if (event.getSource().equals(source)) {
                var keyEvent : KeyEvent = event as KeyEvent;
                var keyCharacter = keyEvent.getKeyChar();
                var isDigit = false;
                var code = keyEvent.getKeyCode();
               if ((KeyEvent.VK_0 <= keyCharacter) and (keyCharacter <= KeyEvent.VK_9)) {
                       isDigit = true;
                if ((code ==KeyEvent.VK_DELETE) or (code ==KeyEvent.VK_BACK_SPACE)) {
                    isDigit = true;
                if ((code ==KeyEvent.VK_LEFT) or (code ==KeyEvent.VK_RIGHT)) {
                    isDigit = true;
               if (not isDigit) {
                    keyEvent.consume();
    function createSwingTextField() : SwingTextField{
        var field = SwingTextField {
            columns:12
        var listener =  DigitKeyEventHookListener{
            source: field.getJTextField()
        Toolkit.getDefaultToolkit().addAWTEventListener(listener, AWTEvent.KEY_EVENT_MASK);
        return field;
    Stage {
        title: "Digit Box"
        width: 200
        height: 80
        scene: Scene {
            content: createSwingTextField()
    }

  • Unable to use the table selection in the Pages Inspector on blank wordprocessing page.  What am I doing wrong?

    I was trying to draw a tables with 11 rows and 3 rows as a starts to try to make address labels.  Downloading an Avery template didn't work.  I opened the Inspector on a word processing blank page but none of the selections worked.  "Body rows" and "body columns"  were inoperable.  Do I have a flaw in the Pages program that came with the iWorks?

    Hi 'plexed,
    Use the yellow Table button in the tools to insert a table. With any cell in the inserted table selected, the Table Inspector an all its controls become active.
    Regards,
    Barry

  • Unable to perform "insert into table select ...." using DBF_JDBC30

    below i post my code :
    import java.util.*;
    import java.sql.*;
    import java.io.*;
    import com.hxtt.sql.*;
    public class backofficeDbfVerification {
    public backofficeDbfVerification(String path) throws SQLException {
    Properties prop = new Properties();
    prop.setProperty("user", "");
    prop.setProperty("OtherExtensions","true");
    prop.setProperty("Version Number", "03");
    try {
    Class.forName("com.hxtt.sql.dbf.DBFDriver").newInstance();
    connection = DriverManager.getConnection("jdbc:DBF:/"+path, prop);
    catch (ClassNotFoundException classnotfoundexception) {
    System.out.println("could ot find HXTT class, make sure the classpath have been defined in your system !");
    catch(Exception e) {
    System.out.println(e.getMessage());
    public void createBadRecord(String table, String newtable, int blth) throws SQLException {
    Statement stmt = connection.createStatement();
    String insert = "insert into \""+newtable+"\" select * from \""+table+"\"";
    boolean bInsert = stmt.execute(insert);
    stmt.close();
    public static void main (String args[]) {
         String path = "C:\\MASTER\\SOURCEDATA\\AREA";
    try {
    backofficeDbfVerification test = new backofficeDbfVerification(path);
    test.createBadRecord("source\\area\\123.AA2","source\\area\\others\\89964568.AA1");
    catch(SQLException sqx) {
    System.out.println("Error "+sqx.getMessage());
    i try to perform simple query : insert into tablea select from tableb which has same structure. the source table has only 9 rows, but the process ran very long time, no error message raised,it just run and never end (which make me upset for the whole day).
    i have tried another simple query : insert into table1 values (1,2) using the same driver and execute successfully.
    is it becoz of function limitation since i used evaluation copy ?

    Copy the answer from HXTT's support forum:
    No function limitation. I just tested:
    create table testa1 select * from test;
    insert into testa1 select * from test;
    Passed.
    I also run your backofficeDbfVerification.java sample. Passed too. I'm using the same code as you. The difference is only my 89964568.AA1 and 123.AA2 is simulative tables files. If possible, please zip your 89964568.AA1 and 123.AA2 and email to [email protected] Thanks.
    BTW, I pasted the little modified backofficeDbfVerification.java below:
    import java.sql.*;
    import java.util.*;
    public class backofficeDbfVerification {
    Connection connection;
    public backofficeDbfVerification(String path) throws SQLException {
    Properties prop = new Properties();
    prop.setProperty("user", "");
    prop.setProperty("OtherExtensions", "true");
    prop.setProperty("Version Number", "03");
    try {
    Class.forName("com.hxtt.sql.dbf.DBFDriver").newInstance();
    connection = DriverManager.getConnection("jdbc:DBF:/" + path, prop);
    catch (ClassNotFoundException classnotfoundexception) {
    System.out.println("could ot find HXTT class, make sure the classpath have been defined in your system !");
    catch (Exception e) {
    System.out.println(e.getMessage());
    public void createBadRecord(String table, String newtable) throws
    SQLException {
    Statement stmt = connection.createStatement();
    String insert = "insert into \"" + newtable + "\" select * from \"" +
    table + "\"";
    boolean bInsert = stmt.execute(insert);
    stmt.close();
    public static void main(String args[]) {
    String path = "f:\\dbffiles";
    try {
    backofficeDbfVerification test = new backofficeDbfVerification(path);
    test.createBadRecord("source\\area\\123.AA2",
    "source\\area\\others\\89964568.AA1");
    catch (SQLException sqx) {
    System.out.println("Error " + sqx.getMessage());
    }

Maybe you are looking for

  • Scanning fails to recognize page size in Acrobat X

    My HP 8500 Pro Premier All-in-one scanner has a 14" flatbed. Even though the paper size parameter is "letter", the scan results in the 8.5x14 image being reduced to the 8.5x11 paper size. How do you specify that you only want to use 11" (cropping) of

  • File Visibility in uploading the file using web DynPro java

    hello, i have gone through the tutorial " uploading & downloading the file using web DynPro java". the upload functionalty is working fine. but i need to know thw path where these files are getting uploaded ?? Waiting for the reply.. Regards, Viren G

  • Installing windows 7 on new partition

    How do I create a fresh partition with windows 7 on it so I can have one for interent, and another without any connection? Or do I have to purchase a new copy of windows 7?

  • How to make podcasts NOT sync to ipod

    I'm having some trouble with podcasts. I want to download them to my computer but not to my ipod. I tried setting the podcast option on my ipod to manually update, but they sync anyways because the podcasts are appearing in the library as songs. is t

  • Can't upgrade to os x yosemite

    Hello all, I can't upgrade to os x yosemite then i trying to do it by official site, I receive the error. It told that the Os non in market.  Anybody have simple error ?