Data binding, value vs text

Hi all,
I'm very much a novice when it comes to LC and scripting. I've got a form which gets submitted by users as an xml file to an email. When I open the xml file, I noticed that a couple dropdown list fields are showing the data in 2 different ways.
One is showing the field selection value (1) and another is showing the field selection text (OT - Other).
Both dropdown fields are set up the same way. Binding is Use Name(whateverfieldname) . I cant see anywhere to specify to use value vs text anywhere in the object palette. Where can I define which gets passed to the xml?
Thanks!

Hi,
On the Binding tab of the Object palette for the drop down returning the value will have "Specify Item Values" selected.
Regards
Bruce

Similar Messages

  • Adobe Form - Data Binding for static text

    Hi Experts,
    I'm trying to create a new label with Adobe Forms (not interactive).
    So I've created an interface with a table LABEL_DATA (import) and many variables (import) and a new Form with Layout.
    I tried to bind some text fields with the imported variables und fields from the table, they're all available in the context, but all fields are still empty (preview and print).
    Field are Text Fields
    Type is : Read Only
    Data Binding is : $record.LABEL_DATA.KDMAT
    Can someone please help me?
    Thank you.
    Regards,
    David

    Hello David,
    In your interface, have you declared LABEL_DATA as GLOBAL Data ?
    You can fill the table and variables in the INITIALISATION in the interface.
    Then you can use the Global table and variables in the form.
    In case you are missing some values; you can debug the code in INITIALISATION section. Get the import tables in INITIALISATION and filter the required values into Global Table and variables.
    Regards
    Sandy

  • Modifying the Data Binding value at runtime

    Hi
    just wondering if there is a programmatic way of adding or removing the Default Binding value at runtime? This is the value that is showing up on the Binding Tab of the Object Tab.
    thanks,
    John

    Have you added teh Label as a text field?
    If you have done that, try replacing the label with a Input/Output type field in the display mode by selecting 'Output Only' in the attributes->Program Tab of Screen Painter.
    Now from the program , when the user presses F7, you can code to change the value of the Label (Input / Output field).
    This will work out. Please let me know if you have any issues.
    Regards,
    Anish Thomas

  • Report data binding error with date values

    I have CF7.02 with a Microsoft Visual FoxPro 9.0 SP1 Database
    that I connect to using ODBC (FoxPro Driver 6.01.8630.01). I send
    my sql results to a CF Report Builder 7.02 PDF report and it works
    fine. If I dump the date values before I change them, they look
    like the following: {ts '2004-12-20 00:00:00'} . However I have
    tried a number of ways of manipulating the date before sending it
    to the report, but I continue to get errors. I don't care what
    format they go to the report in, since the report reformats them
    anyway. I checked to make sure that none of the dates were null.
    For example <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDateTime(#ldCFPrcInputDate#) /> yields values in the
    {ts '2004-12-20 00:00:00'} format when I dump the query results to
    screen. Where:
    ldCFPrcInputDate = 12/20/2004
    CreateODBCDateTime(ldCFPrcInputDate) = {ts '2004-12-20
    00:00:00'}
    ReportQuery.PrcInputDate[lcCurRow] = {ts '2004-12-20
    00:00:00'}
    I get the error:
    Report data binding error Unable to get value for field
    'prcinputdate' of class 'java.util.Date'.
    coldfusion.runtime.OleDateTime -> Date
    Not using the CreateODBCDate function for example <cfset
    ReportQuery.PrcInputDate[lcCurRow] = #ldCFPrcInputDate# /> I
    get:
    Report data binding error Unable to get value for field
    'prcinputdate' of class 'java.util.Date'.
    java.lang.String -> Date
    Here are some of my failed attempts:
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDateTime(#ldCFPrcInputDate#) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    #ldCFPrcInputDate# />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    DateFormat(CreateODBCDate(#ldCFPrcInputDate#),'mm/dd/yyyy') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(DateFormat(#ldCFPrcInputDate#,'mm/dd/yyyy') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(DateFormat(#ldCFPrcInputDate#,'mm-dd-yyyy') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    Trim(createODBCDateTime(ldtmpdate)) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate({05-07-2006}) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate('{05-07-2006}') />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(05/07/2006) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate('05/07/2006')/>
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    CreateODBCDate(parseDateTime('05/07/2006')) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    parseDateTime(CreateODBCDateTime(05/07/2006)) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] =
    parseDateTime(CreateODBCDateTime('#ldCFPrcInputDate#')) />
    <cfset ReportQuery.PrcInputDate[lcCurRow] = '{05-07-2006}'
    />
    <cfset ReportQuery.PrcInputDate[lcCurRow] = '{05/07/2006}'
    />
    <cfset ReportQuery.PrcInputDate[lcCurRow] = '05/07/2006'
    />
    I also did some googling without success. Any help is
    appreciated.

    You may want to make sure that the column is not included in
    the query variable list in your report cfr file.
    The newest version of the Report Builder, which may be
    installed on the server, no longer tolerates vars appearing in that
    list of they are not in the query itselft.

  • How to validate Date value in Text Column

    Hi All,
    I have entered DATE value in text item field(Char Data Type), Now how can i validate, the entered date is valid or not.
    Thanks in advance.

    Well, the easiest way would be to make the item of datatype DATE.
    Another possibility is to try to convert the given value to a date in the WHEN-VALIDATE-ITEM-trigger, like
    DECLARE
      dt DATE;
    BEGIN
      dt:=TO_DATE(:BLOCK.ITEM);
      -- if code comes here, the date is valid
    EXCEPTION
      WHEN OTHERS THEN
        -- seems to be no valid date
        MESSAGE('Error');
        RAISE FORM_TRIGGER_FAILURE;
    END;Edited by: Andreas Weiden on 19.12.2010 12:23

  • How to fill or bind data using Value Node in Tree Node

    Hi Gurus,
    Can anybody help me on how to fill data or bind data using Value Node in Tree Node View. I know how to create Tree Node but not able to show value on the UI in Tree View.
    Can u please let if anybody has done it?
    Thanks in advance.
    Madhusudan

    continued...
    TRY.
              lv_child = me->node_factory->get_proxy(
                        iv_bo = lv_value_node
                        iv_parent_proxy = me
                        iv_proxy_type = 'ZL_CLASS_CN02' ).
              lv_child->is_leaf = 'X'.
              APPEND lv_child TO rt_children.
            CATCH cx_sy_move_cast_error cx_sy_ref_is_initial.
          ENDTRY.
      In the above code iv_bo , lv_value_node will be the actual object of the second node or leaf node here, which will have the same structure of parent node along with data. After/before this, you would need to build table and refresh in do-prepare_output of IMPL class.In the above code iv_bo , lv_value_node will be the actual object of the second node or leaf node here, which will have the same structure of parent node along with data. After/before this, you would need to buid table and refresh in do-prepare_output of IMPL class.
    ztyped_context->resultlist->build_table( ).
      IF ztyped_context->resultlist->node_tab IS INITIAL.
        ztyped_context->resultlist->refresh( ).
      ENDIF.
    Also the EH_ONEXPAND has to be implemented and event handled in DO_HANDLE_EVENT. But this expand event has to be delegated to context node directly as CL_BSP_WD_CONTEXT_NODE_TREE will already have the implementation.
    ztyped_context->resultlist->expand_node( lv_event->row_key ).
    Where in result list is the node ZL_CLASS_CN00.
    After typing the whole content , i found this blog :). There are few things i have written more that in the blog.  /people/poonam.assudani/blog/2009/06/24/create-a-tree-view-display-in-crm-web-ui
    Regards,
    Karthik

  • Run time data binding via FormCalc/JavaScript+wrong text formating

    Hello Everybody
    I need to print a text block with company details depending on company code (different details for different codes). I tried to use this code for event "calculate":
    if ($record.LS_HEADER.BUKRS == "1000") then
    $ = $record.COMP_DETAILS_1000
    elseif ($record.LS_HEADER.BUKRS == "1000") then
    $ = $record.COMP_DETAILS_2000
    endif
    $record.COMP_DETAILS_1000, $record.COMP_DETAILS_2000 are elements from the form context which are linked to textmodules.
    This code works and it prints correct textmodules for different company codes. But the printed text is not formated like text in the textmodules. The most important thing here is that these texts are always printed as a single long string and I need paragraphs like in the textmodules. It's a problem... If I use a statical binding (without FormCalc programming) the text modules will be printed with correct formating.
    Using of checkbox "Allow Multiline Lines" hasn't helped here...
    Have you any idea how should I do the run time data binding?
    Thank you very much in advance!

    Hello,
    the important part is "If I use a statical binding (without FormCalc programming) the text modules will be printed with correct formating." That means you can get the text in the shape you want. Just do that. Get all the texts. Next use the JS/FC scripting to hide all but one text. You get only one text to display and you use static binding to get the proper text format.
    Hope this helps, Otto

  • MVC - Performance of data binding

    Hi Gurus out there
    I have a concern regarding performance of (dynamic) data binding if I have a lot of <i>textEdit</i> fields containing huge amount of data on a view page.
    <u>Scenario</u>:
    The view page contains buttons <b>[Add textEdit field]</b> and<b> [Save all entries]</b>. If you click the button <b>[Add textEdit field]</b> then a (new) <i>textEdit</i> will be generated and the model remembers the total number of <i>textEdit</i> fields that have been generated.
    DATA: textedit_count TYPE i,
          o_textedit     TYPE REF TO cl_htmlb_textedit,
          tabix(6)       TYPE c,
          binding_code   TYPE string,
          binding_str    TYPE string.
    textedit_count = o_model->get_section_count( ).
    DO textedit_count TIMES.
    * Create a unique ID for a textEdit field:
      tabix = sy-index.
      CONDESE tabix NO-GAPS.
    * String for the data binding of internal table model->data_stream_tab:
      CONCATENATE '//model/data_stream_tab['
                  tabix
                  '].data_string'   
             INTO binding_str.
    * Dynamic data binding:
      CREATE OBJECT o_textedit.
      CONCATENATE 'myTextEditID' tabix
             INTO o_textedit->id.
      o_textedit->width  = 650.
      o_textedit->height = 225.
      o_textedit->_text = binding_str.
      binding_code = o_textedit->IF_BSP_BEE~RENDER_TO_STRING( page_context ).
    <htmlb:label for = "<%= o_textedit->id %>"
                text = "<%= o_textedit->id %>"
              design = "EMPHASIZED" />
    <%-- Binding of the attribute (internal table) '//model/data_stream_tab<i>.data_stream' --%>
      <%= binding_code %>
    ENDDO.
    Obviously the <u>whole</u> contents of the <i>textEdit</i> fields in the coding above are <u>always</u> "moved" from the web browser to the server and vice versa when the button <b>[Add textEdit field]</b> is hit every time even though the content of some <i>textEdit</i> fields haven't changed.
    Does anyone have a good solution/optimization for this problem? Any suggestion, comment and/or answer will be very appreciated.
    Thanks
    HW

    Place this code above any textedit elements you have in your page:
    <script type="text/javascript">
    var myFields = new Array();
    </script>
    Then place this code after every textedit elements, this code will get run when the page is loaded in the browser, right after your element. You are saving the ID and the default value of your element to an array. For every further element, increase the array counter by 1!
    <script type="text/javascript">
    myFields[0] = new Object();
    myFields[0]["id"] = 'myTextEdit1';
    myFields[0]["default_value"] = document.getElementById(myFields[0]["id"]).value;
    </script>
    Finally, include this function in your page (does not have to be at the bottom, I just put it here chronologically):
    <script type="text/javascript">
    function compareFields() {
      for (var i = 0; i < myFields.length; ++i) {
        if(myFields<i>["default_value"] == document.getElementById(myFields<i>["id"]).value) {
        // nothing has changed, set to ignore-value (any highly unlikely value, like ")?.("
        document.getElementById(myFields<i>["id"]).value = ')?.(';
        // check against this value in your setter method
        // if this is set, then do not user submitted value to update your model attribute value
        // maybe do some output for debug purposes
        // alert(document.getElementById(myFields<i>["id"]).value);
    }</script>
    Now add this attribute to your submit button:
    onClientClick = "javascript:compareFields();"
    This should do, test it out and let me know.
    Max

  • Report data binding error

    I have created a banded report split into departments. Each
    recore has a value associated with it. The report runs fine if I
    dont try to sub-total each departments vale, but if I add a
    calculated field to the banding, I get the following error:
    Report data binding error Error evaluating expression :
    textField_2 Source text : calc.Department_Total.
    Variable calc.Department_Total is undefined.
    The calculated field is simply the sum of the values, with an
    initial value of 0 and set to reset when the group changes on the
    department. I am using the same data type for the calc field as it
    automatically gave for the original Value field (Big Decimal)
    Any ideas?
    Dave H

    Does anyone have any ideas about this, Its getting a bit
    critical now. Has anyone else been able to do sums that calculate
    on group changes?? The sum total works for the report, jusyt not
    the bands. I desparate here, pulling my hair out.
    Regards
    Dave H

  • The data binding isn't working, what have I done wrong?

    I'm writing a very simple WPF app, one view. I've got a few models defined for the small handful of tables this app works with. I'm making some sort of boneheaded mistake, but I can't see what it is. I'm trying to bind to a property of one of the model
    classes I've define, to a textbox in a stackpanel. Here's the XAML:
    <StackPanel Orientation="Horizontal" Margin="0, 5" DataContext="{Binding cvsSpecMapping}">
    <TextBlock Margin="10,0,5,0">Specimen Mapping: </TextBlock>
    <TextBox x:Name="txtHl7SpecMap"
    Text="{Binding HL7SpecimenTypeName}"
    ToolTip="{Binding HL7SpecimenTypeName}"
    MinWidth="50"
    MaxWidth="100"
    MaxLength="250" />
    </StackPanel>
    Earlier in the same XAML file I've got the following collection view source defined in the windows' resources:
    <CollectionViewSource x:Key="cvsSpecMapping" />
    This isn't rocket science. Here's the model class definition. I'm removing all but the relevant property:
    using System;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    namespace SpecMapException.Models
    * This class I am interested in knowing what properties change.
    * Also note that the properties in this class do NOT represent all of the properties
    * in the Prism.SpecimenMapping table. It only represents what this application has
    * to store.
    public class SpecimenMapping : INotifyPropertyChanged
    private const int MAX_HL7SPECIMENTYPENAME_LEN = 250;
    #region class properties
    private string _hl7SpecimenTypeName = "";
    public string HL7SpecimenTypeName
    get { return _hl7SpecimenTypeName; }
    set
    if (value != _hl7SpecimenTypeName)
    _hl7SpecimenTypeName = EnforceMaxLength(value, MAX_HL7SPECIMENTYPENAME_LEN);
    NotifyPropertyChanged();
    #endregion //class properties
    #region local routines
    private string EnforceMaxLength(string PassedValue, int MaxLength)
    if (PassedValue.Length <= MaxLength)
    return PassedValue;
    return PassedValue.Substring(0, MaxLength);
    #endregion
    #region PropertyChanged code
    * The usual property changed code.
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
    if (PropertyChanged != null)
    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    #endregion
    And lastly here's the relevant code which I've put into the windows Loaded event:
    Models.SpecimenMapping sm = null;
    private void Window_Loaded(object sender, RoutedEventArgs e)
    var cvsSpecMapNames = (CollectionViewSource)(this.FindResource("cvsSpecMapping"));
    cvsSpecMapNames.Source = sm;
    So what is the mistake that I've made? Why isn't the data binding to the textbox txtHl7SpecMap working?
    (I'm using VS 2013, .NET 4.5.)
    Rod

    cvsSpecMapping is a resource and not a property so you should set the DataContext using the StaticResource markup extension instead of Binding:
    <StackPanel Orientation="Horizontal" Margin="0, 5" DataContext="{StaticResource cvsSpecMapping}">
    Also, the Source property of a CollectionViewSource is supposed to be set to a collection:
    private void Window_Loaded(object sender, RoutedEventArgs e)
    sm = new Models.SpecimenMapping();
    var cvsSpecMapNames = (CollectionViewSource)(this.FindResource("cvsSpecMapping"));
    cvsSpecMapNames.Source = new List<Models.SpecimenMapping>() { sm };
    You may also want to set a default value of the HL7SpecimenTypeName property to confirm that the binding actually works after you have done the above changes:
    public class SpecimenMapping : INotifyPropertyChanged
    private const int MAX_HL7SPECIMENTYPENAME_LEN = 250;
    #region class properties
    private string _hl7SpecimenTypeName = "def....";
    public string HL7SpecimenTypeName
    get { return _hl7SpecimenTypeName; }
    set
    if (value != _hl7SpecimenTypeName)
    _hl7SpecimenTypeName = EnforceMaxLength(value, MAX_HL7SPECIMENTYPENAME_LEN);
    NotifyPropertyChanged();
    Hope that helps.
    Please remember to mark helpful posts as answer to close your thread and then start a new thread if you have a new question.

  • Attribute binding value not refreshed after transaction rollback

    Hi,
    Using ADF Faces/Trinidad + ADF Data Bindings + ADF Business Components.
    I was experimenting with task flows vs transaction control vs form validation and met the following problem.
    First, here's a little intro to my application design. A page template defines the layout. There's only one page in the application using a dynamic region to show a dynamic task flow. The template defines a menu containing navigation items; each item action changes the current dynamic task flow id.
    One of the flow starts with a data bound table listing users. Each row has an edit button to navigate to an edit form. The edit form is in a separate task flow as I want the automatic rollback triggered when a flow is abandoned.
    The problem occurs when I quit the form clicking a menu item AFTER a validation error occurred. Transaction is rollbacked as expected, however when I go back to the form (whatever row I choose), the invalid value that failed the previous validation is shown.
    It seems the attribute binding is not refreshed. To validate this hypothesis, I added a button that explicitly calls refreshControl on the attribute binding as shown below. When the button is clicked, the form shows the correct value.
        // In a managed bean
        public void refreshFirstName(ActionEvent evt)
            getBindingContainer().findCtrlBinding("FirstName").refreshControl();
        }I working on a possible workaround, but I've not succeeded yet. I'm looking into using the finalizer of the task flow (or possibly the initializer) to force a refresh of the control bindings.
    Any ideas?
    Thanx!
    Olivier

    Hi,
    I am experiencing similar strange behaviour, it sounds like it could be related, i am not using task flows though.
    I have a read only table, and when a user double-clicks on a row an af:popup is displayed which displays an edit form (contentDelivery is set to "lazyUncached" in the popup). Pressing the cancel button on the edit form executes a rollback and hides the popup. However, after this has occurred, whenever another row (or the same row) is selected in the read only table, the edit form will display data from the old record that was rolled back. I've noticed that the old data is only displayed in editable fields, while the correct data is displayed in read-only fields. I'm pretty sure the rollback works properly, and the iterator is on the correct row, just it is displaying incorrect data in the editable text fields. I've tried implementing cancel functionality with both a rollback action and refreshing the row using REFRESH_WITH_DB_FORGET_CHANGES, but the same issue exists regardless of which method is used. I've also noticed that the application starts behaving correctly again if the commit button is pressed.
    Has anyone come up with a workaround for this issue?
    By the way, is there any way we can keep track of the bug numbers that are mentioned in this forum?
    Thanks,
    Michael.

  • ADF UIX programatic data binding

    Oracle ADF UIX Developer's Guide mentions the possibility to use the UIX framework in Java, to create new objects or alter the existing ones.
    E.g. we can create a table using a construct like:
    TableLayoutBean tlb = new TableLayoutBean();
    The same document demonstrates the data binding:
    BoundValue rows = new DataBoundValue(_YOUR_NAMESPACE, YOURNAME, "rows");
    tlb.setIndexedNodeList(new DataObjectListNodeList(rows));
    For "simple" attributes using DataObject DataObjectList, etc. the procedure is clear. But what about creating a data bound table or input text:
    <table model="${bindings.EmpView1}" ... >
    <messageTextInput model="${bindings.DeptCode}"/>
    It’s easy to understand that model="${bindings.EmpView1}" or model="${bindings.DeptCode}" are equivalent to multiple attribute bindings (data, validation, read-only, etc.), but it looks that the classes/methods resolving these equivalences and linking the bean to the corresponding DCControlBinding, are not public (or maybe I was not able to find them).
    How can we obtain programmatically, in Java, the same structure as described above (in XML)? The best would be to use the same classes used when the UIX XML document is parsed to create the page description.
    It would be very nice to be able to use a structure like
    tbl.setModel( new JUCtrlRangeBinding(...) );
    txt.setModel( new JUCtrlValueBinding(...) );
    or maybe
    txt.setAttribute( "model", new TextInputModelBoundValue(...) ) etc.
    In JSF we can do something like:
    ValueBinding vb = application.createValueBinding(value);
    component.setValueBinding(attributeName, vb);
    Can we do something similar in UIX?
    Any help will be appreciated,
    thanks,
    Mircea Ionita

    Since the code is already written, it's a pity that we can't use/extend it. I don't like to say it (sorry) but I find this design choice (implement the "model" only into the XML parsing layer) a little bit strange (or maybe I don't understand... ;-) ). We should (or we are supposed to) be able to do in java everything that we can do in XML.
    I would like to find more support/help for the programmatic approach. I have the feeling that you are too focalised on "use-our-state-of-the-art-tools/wizards-to-write-the-code-for-you" and you forgot that this is not suitable for all projects. E.g. our application creates the user interface according to a layout defined by each user. To generate it, we need to use at maximum the extension mechanism and we can't simply relay on "rendered" attribute etc.
    -When should we expect this new UIX release?
    -What about the UIX controller? The Struts controller will replace it?
    -What about the source code of uixexp2-demo.jar (distributed with ADF_UIX_component_guide)?
    -Why while debugging we can't set a method/class breakpoint on UIX classes (to understand the data flow) - the stack is secret?
    Thanks

  • Data Binding in ADF UIX example trouble

    Two related questions:
    From the help example 3. Data Binding in ADF UIX example trouble in JDeveloper on UIX. If this worked I was going to run a small java class that captures the login and passes it as a messagebox with a Welcome login name on the first page, but I can't get past the example and path problems.
    From the example..."
    package yourpackage;
    import java.util.Date;
    public class CurrentDateBean
    public CurrentDateBean() { }
    public String getTime()
    return (new Date()).toString();
    Now, we want to change the page so it uses getTime(). We need to do three things: Tell UIX to data bind the text attribute. Add a <dataScope> to the page to provide data to the content. Write a small "data provider" in Java that can access the bean. First, we'll data bind "text": <text xmlns="http://xmlns.oracle.com/uix/ui"
    text="${uix.data.currentDate.time}"/>The example has one small change. The value is changed to ${uix.data.currentDate.time}, which is an expression that defines the data. This is shorthand for "get the time property from currentDate." If you tried running this example, you'd see nothing. That iss because we haven't given currentDate to the page, so the databinding failed, and the "text" is left to null. We do this by adding <dataScope> to the page: <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    Q#1?? Trying to follow the demo. The method class and method name do not seem to match the names in the above class from the demo. Am I missing a point here, please help.
    <data name="currentDate">
    <method class="yourpackage.DataDemo" method="getCurrentDate"/>
    </data>
    </provider>
    <contents>
    <text text="${uix.data.currentDate.time}"/>
    </contents>
    </dataScope>
    Q#2?? When I try and apply the demo class to my home.uix XML file with
    "<?xml version = '1.0' encoding = 'windows-1252'?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40" expressionLanguage="el">
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- start Add DataProviders (<data> elements) here -->
    <data name="currentDate">
    <method class="us.mn.state.dot.apptrack.security.CurrentDateBean" method="getTime()"/>
    </data>
    <!-- end Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <text text="${uix.data.currentDate.time}"/>
    <document>
    <metaContainer>"
    I get the following, and I don't know how to make the UIX XML accept the correct path, please help:
    �file:/C:/JDeveloper905p/jdev/mywork/ProjTrack/AppTrack/ViewController/public_html/home.uix: Parsing error, line 12, column 97: Could not find class us.mn.state.dot.apptrack.security.CurrentDateBean

    for question 1 the name of the class CurrentDateBean
    actually has nothing to do with the el expression
    uix.data.currentDate.time. The currentDate part of the
    el expression is coming from the method data provider part
    of your page:
    <data name="currentDate">
    <method class="yourpackage.DataDemo"
    method="getCurrentDate"/>
    </data>
    so if you changed the name of the data provider to "foo":
    <data name="foo">
    <method class="yourpackage.DataDemo"
    method="getCurrentDate"/>
    </data>
    your el would look like this:
    uix.data.foo.time
    by the way the uix.data part tells UIX to look for
    a <data> element define in the <provider> section of
    your dataScope.
    For question #2, do you have the java file
    us.mn.state.dot.apptrack.security.CurrentDateBean on
    your classpath and is it compiled? You will get that
    warning if it is not on your classpath.
    Also you are incorrectly interpreting the example. What
    you are doing is trying to reference the actual bean
    object and its getTime() method. What you want to do
    is write a method data provider that returns your
    CurrentDataBean. so uix.data.currentDate would return
    a CurrentDateBean instance object. the .time part of the
    el expression would tell UIX to look for a method named
    getTime() and use that value.
    let me know if you have any more questions.

  • Regarding Model Data Binding.

    Hi Jain,
    Data binding enables data transfer between views and models, so that we don't have to add or change controller coding to work with models.
    Syntax for DataBinding:
    For <htmlb:InputField>
    <htmlb:InputField value="//query/a"/>
    This example code creates an inputfield that takes its initial value from the a attribute of  query model.
    here query is the instance for model we can define in conroller Do init method.
    For ex if you want to add two numbers by using model data binding.
    Create method add in model which has three attributes value1,value2, and result.We have to define  these attributes in model.Result is to print the added vaue.
    Then we have to add these values to the model in the view by using above syntax:
    <htmlb:InputField value="//query/value1"/>
    <htmlb:InputField value="//query/value2"/>
    <htmlb:InputField value="//query/result"/>
    here query is instance for the model.
    Here you have to remeber one point that no need to define these attributes(value1,value2,result) in the view again but you have define model instance in the attributes of view.
    Try using this concept..........
    Reward points if useful.

    Hi Anubhav,
                    Model Data Binding in business server pages ensure that data which is entered by the user in
                    the user interface(view) automatically passes to the model attributes and also output from the
                    backend system automatically passes to the result view.
                    So we need n't handle the data which is going to backend or the data which is coming from
                    backend system.
                    Data binding takes care of all the data handling .so we need n't write code to handle the data.
                    All i can say is data binding means binding the UI elements with the model class attributes.
                   If data binding is not available in BSP, we would have written lot of code in controller class
                   of business server pages.
                  I am giving simple example here to make you understand.
                   The initial view in this application contains 2 input fields, 4 radio buttons and 1 button.
                   Here radio buttons named Add, Multiple , Subtract and Divide.
                   The functionality i this application is whenever user enters numbers in input fields and select on
                   radio button and click on button , the result has to be displayed in the result view.
                  Initial View:
    <htmlb:content design="design2003">
    <htmlb:page title = " ">
        <htmlb:form>
      <htmlb:textView     text            = "value1"
                              design        = "EMPHASIZED" />
        <htmlb:inputField       id          = "f1" value = "//model/v1" />
         <htmlb:textView     text          = "value2"
                              design        = "EMPHASIZED" />
            <htmlb:inputField     id          = "f2" value = "//model/v2" />
         <htmlb:radioButtonGroup id="rbg" selection="//model/s" >
            <htmlb:radioButton id="id_add" text="add"/>
            <htmlb:radioButton id="id_sub" text="sub"/>
            <htmlb:radioButton id="id_mul" text="mul"/>
            <htmlb:radioButton id="id_div" text="div"/>
          </htmlb:radioButtonGroup>
    </htmlb:form>
    This code in the above view shows the data binding;
    <htmlb:inputField       id          = "f1" value = "//model/v1" /> and  
    <htmlb:inputField     id          = "f2" value = "//model/v2" /> and
    <htmlb:radioButtonGroup id="rbg" selection="//model/s" >
    Here v1,v2 and s are model class attributes . model is reference variable of model class .model is declared
    as page attribute in BSP.
    As i said above automatically the values of inputfields are passes to the model class without writing the code.
       Code in model class method:
    METHOD toall.
      IF s = 'id_add' .
        v3 = v1 + v2.
      ELSEIF s = 'id_sub'.
        v3 = v1 - v2.
      ELSEIF s = 'id_mul'.
        v3 = v1 * v2.
      ELSE.
        v3 = v1 / v2.
      ENDIF.
    ENDMETHOD.
    </htmlb:page>
    </htmlb:content>
       Result View:
    <htmlb:content design="design2003">
      <htmlb:page title = " ">
        <htmlb:form>
          <htmlb:textView     text          = "output"
                              design        = "EMPHASIZED" />
          <htmlb:textView     text          = "//model/v3"
                              design        = "EMPHASIZED"  />
        </htmlb:form>
      </htmlb:page>
    </htmlb:content>
           Here the result is available v3 attribute of model class and it is binded to the text view of the  result view.
          Finally the result is displayed in result view.In the above example i didn't explain about controller class
          I hope you know about controller class.
          Hope it helps.
          Reward points,if found useful.
    Thanks,
    Narendra.M

  • 10g: Data Binding in event handlers?

    I'm trying to use data binding in my event handlers so that I can have a definitive source for the Strings that name things like this. I can see that the page is getting generated with the proper names on the elements in the page, but I always get an UnhandledEventException when I trigger the event. The idea is something like this:
            <submitButton text="Refresh" event="${ pageBean.controlRefreshEventName }" >
            </submitButton>
            <submitButton text="Hide Controls" event="${ pageBean.controlHideEventName }" >
            </submitButton>
        <handlers>
            <event name="${ pageBean.controlRefreshEventName }">
                <method class="com.avega.portlets.view.EventHandler"
                        method="handleControlFormSubmit"/>
            </event>
            <event name="${ pageBean.controlHideEventName }">
                <method class="com.avega.portlets.view.EventHandler"
                        method="handleControlFormSubmit"/>
            </event>
        </handlers>
    ...Now in my EventHandler I would be able to use the getXXXName methods when checking for which submit button was hit. Except I'm getting an exception instead.
    (BTW, I only have the two event tags because I wasn't sure how to concatenate the el expressions with a space...)

    No, there's no indication that anything is wrong until I cause the event and get the UnhandledEventException.
    However, I did the an experiment with the following tags, the first in a plain JSP, the second in a UIX page, and it seems that this is the normal way of handling a non-existant bean reference. Both cases printed 'text' in the page and did not complain that 'noBean' didn't exist. It seems you get an error when you reference a non-existant property on an existing bean, but no error if the bean itself doesn't exist. Anyway, UIX doesn't appear to be any different from JSP in this regard.
    <c:out value="${ noBean.noProperty } text" />
    <styledText text="${ noBean.noProperty } text" />

Maybe you are looking for