Multi Row Edit Forms in BC4J

How in BC4J JSP can you create a form to edit multiple records at once?
Using JSP/JDBC its fairly straight forward, but in BC4J it doesn't seem obvious. Does anyone have examples?
Thanks,
Matt

here's what i did while putzing around trying to solve this. it's probably not production quality, but may give you ideas...
in the BrowseEdit form, i replaced the DataTable tag with my own table (built with RowSetIterate), sequentially (by row) numbering all the input field names just like i'd have had to for a CGI.
i also changed the jboEvent value.
<jbo:RowsetIterate datasource="ds" userange="true" >
<tr>
<td><%= rwcnt %></td>
<td>
<jbo:ShowValue dataitem="Id" />
</td>
<td>
<input value="<jbo:ShowValue dataitem="Site" />" name="Site_<%= rwcnt%>">
<input value="<jbo:ShowValue dataitem="Site" />" name="_Site_<%= rwcnt%>" type="hidden">
</td>
<td>
<input value="<jbo:ShowValue dataitem="Room" />" name="Room_<%= rwcnt%>">
<input value="<jbo:ShowValue dataitem="Room" />" name="_Room_<%= rwcnt%>" type="hidden">
<input value="<jbo:ShowValue dataitem="RowKey" />" name="RowKey_<%= rwcnt%>" type=hidden>
</td>
<% rwcnt++; %>
</tr>
</jbo:RowsetIterate>
<input VALUE="TableUpdate" TYPE="HIDDEN" NAME="jboEvent">
i then modified the DataHandler.jsp to add my new jboEvent. the handler loops thru the rows of data and does a SetAttribute on anything that's changed.
<jbo:OnEvent name="tableupdate">
<% String rowcntParam = params.getParameter("RowCount");
int RowCount = 0;
if (rowcntParam != null)
try { RowCount = Integer.parseInt(rowcntParam); }
catch (Exception ex) { }
%>
<% for (int index=1; index < RowCount; index++)
String RKvar = "RowKey_" + index;
%>
<jbo:Row id="csbrow" datasource="ds" action="update" rowkeyparam="<%= RKvar %>" >
<jbo:AttributeIterate id="atts" datasource="ds" >
<% // atts is an AttributeDef object....
String oldVal = params.getParameter("_" + atts.getName() + "_" + index );
String newVal = params.getParameter(atts.getName() + "_" + index );
if (oldVal != null && newVal != null && !oldVal.equals(newVal)) {
%>
<jbo:SetAttribute datasource="ds" value="<%= newVal %>" />
<%
%>
</jbo:AttributeIterate>
</jbo:Row>
<%
} // end row loop
%>
</jbo:OnEvent>
YMMV,
cb

Similar Messages

  • How To Create Multi Row Edit Forms in a JSP

    Hi, Could someone tell me how can i create multi edit rows in BC4J JSP edit page.
    Thanks
    Sirisha

    Refer to
    BC4J Multi-Row Extension API which provides multiple row operations to BC4J-based web application.
    http://sourceforge.net/docman/display_doc.php?docid=19393&group_id=87369
    http://radio.weblogs.com/0118231/2005/04/20.html#a529

  • JSF multi row editable detail form -- moving backwards or forward

    Innocently trying to create an intuitive editable master detail JSF form. Similar to what you would want in any application and something that can be done in less than a minute in Oracle Forms
    The master form is a just a simple editable single master form based on the dept table. and the detail is the emp table. I have create the model using the wizard and made sure a link view is created.
    The details form is a multirow form with all the editable columns
    I added two button for the details form (create, remove)
    I entered the master record (no commit yet)
    then i moved the cursor to the details form and created a few records, i found an error in the second row in the detail form, therefore, innocently, i selected that row and pushed the Remove button. shocked to find out that the first row in the details form is deleted regardless of which row is selected. Additionally, when a row is created using the create button, the row is created above the first row of the details form (as if the first row in the details form is always current).
    Such requirement should be easily satisified by a Framework?
    Ammar Sajdi
    Oracle
    Amman

    thank you frank for your response
    Actually, my DETAILS form DOES include the Select Option, and i was really expecting (and accepting) the fact that i need to point to the row i need to delete. Actually, 20 years back i was 8080 assembly language programmer, and used to handle thing at very very low level. However, i do select a row, and i can see the Radio activated for that row, unfortunately though, the seemingly selected item in the DETAILS form is not the one that is removed, it is instead, the first row that is actually removed. It seems as if the form rows are not synchronized with the ROW selector you mentioned,, The first row is somehow internally selected (always)
    This is the interesting part.
    I created another project with a single multi row editable table (without master details) only a master, and guess what, it is working beautifully! exactly as you descirbed. Select a row, press delete and there you go, the record no longer exists
    Ammar Sajdi
    visit me
    www.e-ammar.com/Oracle.htm
    regards

  • Multi row edit without having to use htmldb field

    Hi guys,
    a question: have someone ever implemented a multi-row edit report, like the one on Oracle HTML DB Handbook, without having to use htmldb field?
    If so how? Only describe the steps or provide me some links. I think is enough.
    Other little question:
    When you use the syntax like:
    htmldb_application.g_f05(i) (inside a for loop), can i use another naming style instead of using gf05 ?
    Let's assume that g_f05 is sal, for me would me more clear use a synthax like htmldb_application.sal(i).
    I think would be a good improvement in the future version of APEX.
    I
    thank you very much

    hey,
    i think that what i saw in the sample application / section admin can't work for my needs, such i'have a quite complex query (pl/sql f body ret sqlquery).(infact the demo is based on a simple query, while i need to use a psqlf.b.r.q)
    However what i need is only a row selector, using a report based on a psqlf.b.r.q.
    By me i've to use the htmldb_item.
    Maybe for my purpose a collection can simplify the problems, however this is briefly what i'm trying to do:
    I've 2 set of data.
    D1 and D2.
    D1 is based on complex filter(which i think it can't be managed from a normal query at all / you have to use pfbrq)
    D2 is not(quite simple).
    D1 AND D2 have the same type and nr of columns.
    The user can choose from a radio group this 3 mode of view.
    1 - The user see D1 (UNCHECKED) UNION D2 (CHECKED).
    2 - The user see only D2. CHECKED.
    3 - The user see only D1 UNCHECKED.
    Both D1/D2 can be displayed in the same report.
    If Data of D1 are already in D2 they are checked.
    (i think here a not in select can do quite well the job).
    Hope that somebody understand what i've tried to explain, or maybe has had the same type of problem.
    Thank's a lot
    Message was edited by:
    Marcello Nocito
    Message was edited by:
    Marcello Nocito

  • Multi-Row Update form with wrapped fields

    Hi,
    I have a multi-row update form with too many fields to fit on the screen without having to scroll. Is it possible to wrap the extra fields onto a 2nd line.
    So each DB record will actually span 2 srceen rows and fit nicely into my browser ??
    Thanks for any help,
    Brandon

    It is possible, but would require some serious work on the report template, to create a custom row template.
    I started to do this at http://htmldb.oracle.com/pls/otn/f?p=24317:191 but realized that it is hard work. Also, where would you show the headings for the second part of the row (split onto the next line)?
    Instead, I would use the Show/Hide columns technique (client-side scripting) to reduce the number of columns shown. Search for it on this forum. Carl and I have some good examples out there.

  • JSP Multi Row Edits and Struts Validator

    Hello,
    I followed this howto: http://www.oracle.com/technology/products/jdev/tips/mills/JSP_Multi_Row_Edits.html and implemented multi row editing. Now I'd like to use Struts Validator for validating data in multiple rows. Is there any howto document on this subject?
    Thanks,
    Anna

    I think I will have to look inside the JHeadStart source code that extends DataAction, understand how that code works, and finally get the pieces I'm interested in...

  • Multi row tabular form

    can someone repost the instructions for tricking the master
    detail form into emulation a single table multi row form. I
    found someone who poited to an old posting that is no longer
    available

    repost

  • Multi row portal form based on a single table or view

    Hi,
    I have to create a multi row (tabular format) portal form based on a single table. Please help.
    Thanks

    Hi,
    A workaround to create multi row for based on single table has been discussed in the following :
    http://forums.oracle.com/forums/message.jsp?id=469778
    Thanks
    Vineet

  • Multi-row editable Detail Component on the same Page as Master (WSG)

    Hello. There was a trick to place editable (with Update button and Delete? checkboxes) Detail Component on the same Page as Master. Something about a Creation of Detail Component in Property Palette Mode (against of Dialog). Can anyone point me please to those hint?
    great thanks,
    Wit.

    Look at the page branches. There will be one or more which goes to the first page. Change it to go to the current page instead of the first page.

  • Multi-Row Form Validations - Cannot Re-Use Phone Nos from select LOV

    1) I need some help with a "Multi-Row" data-entry form (page 9)...I have a select list of phone-no's that user picks from the drop-down lov list on a page multi-row select list-drop down - P9_PHONE_ID (has built in lov). The data form is built on 'site_phone_assign' table.
    However, I need to put a page-level validation where the user CANNOT select a pre-assigned phone id (reuse a phone) that's already been assigned (used) and a record exists in the site_phone_assign table. I built the following page level validation on the multi-row edit form which is built on 'site_phone_assign' table...NOT WORKING!
    PLEASE HELP WITH THE BEST WAY TO DO THIS..Thanks!
    --validation type: Function returning boolean
    <code>
    DECLARE
    v_count pls_integer default 1;
    BEGIN
    IF (:P9_PHONE_ID IS NOT NULL) THEN
    select count(*)
    into v_count
    from datahub.site_phone_assign s
    where s.phone_id = :P9_PHONE_ID
    and s.ASSIGN_START_DATE <= SYSDATE
    AND NVL(s.ASSIGN_END_DATE,SYSDATE+1) >= SYSDATE;
    END IF;
    IF (v_count) > 0 THEN
    RETURN (FALSE);
    ELSE
    RETURN (TRUE);
    END IF;
    END;
    </code>
    2) How can I apply validations on a multi-row edit form page where say - start_date is always less than end_date? Both start/end dates are date-picker type of items.
    3) Can ITEM NOT NULL validation be applied on a multi-row edit page? I guess its page-level validation right? Please advice.
    Edited by: Shravanv on Feb 18, 2010 1:50 PM

    Hello,
    In a Tabular Form you need to loop through the records on the screen, so doing a check on :P9_PHONE_ID doesn't work...
    Patrick Wolf made a general solution for this problem, you can read about it here: http://www.inside-oracle-apex.com/plug-play-tabular-form-handling/
    Regards,
    Dimitri
    http://dgielis.blogspot.com/
    http://www.sumneva.com/

  • Multi-row form with button to save and add another row

    Can you have a button on a multi-row tabular form that would save the current changes, and than open a new row up on the fom for a new entry to be entered? This would combine the save and add a row button functions.

    Add Row button is doing exactly what you are asking for - it will save the chages you
    made and add a new row.
    Denes Kubicek

  • Inserting new rows in a JSP multi-row page

    Hi all.
    I´ve been implementing a JSP multi-row editable page according to the paper:
    http://www.oracle.com/technology/products/jdev/tips/mills/JSP_Multi_Row_Edits.html
    I noted that the code provided in the example just considers handling updates from the multi-row page, by comparing the existing rows in the ControlBinding rangeSet with the ones that came from the page.
    However, I need the ability to handle new rows from the same multi-row form that came from the page. So how can I achieve this task? What code should I include in the processUpdateModel method to handle new inputs?
    regards.
    Denis

    I think I will have to look inside the JHeadStart source code that extends DataAction, understand how that code works, and finally get the pieces I'm interested in...

  • Select_list_from_lov in multi row report: Help

    Oracle 10g, apex 3.2
    On windows XP client, Firefox 3.5.2
    I have a multi row editable report region, defined as below: I have a check box item for the row being selected and one of the columns in the row is a select_list_from_lov_xl. Once the user checks a particular row, using the check box, he/she will choose a particular value from that row's select list. How do I capture the value of the select_list returned value specific for that row? As you see from the highlighted code to render select_list,the value for the apex_item that I am assigning is 30. But when I look in the firebug->inspect element, the apex renders the name as 'f01'..??. What am I missing here??
    Also if user checks all rows, my code picks up the correct corresponding values picked for the select list. If user selects a row in the middle or any random row, the value selected is always the first item returned by the first orw's select_list (though this was not checked!!)
    I am confused and need help on capturing select list return values in a multi row reports.
    Thanks for all your time and expertise...
    Here's the simplified version of my query, that includes the culprits:
    SELECT APEX_ITEM.HIDDEN(10,TR.SEQ) || APEX_ITEM.CHECKBOX(20, tr.seq,'onchange="spCheckChange(this);"',:F500_REQUEST_LIST,':') "Is Requested?",
    +APEX_ITEM.SELECT_LIST_FROM_LOV_XL(30,TO_ROOM_SEQ, 'ROOMS_LOV') "To Room"*_+
    FROM TS_ASSETS TA, TS_REQS TR where <some condition>
    Here is part of my code that extracts the values picked
    -- this should pick only checked rows...
    for i in 1..apex_application.g_f20.count
    loop
    some_checked_value(i) := apex_item.g_f20(i);
    -- the below is coded thus, as thats the value that I see being set, when I inspect this element in firebug. Not sure how this came by, as I had set this item to 30 in my query...???
    some_select_list_val(i) := apex_item.g_f01(i);
    end loop;

    Why don't you try this
    SELECT    apex_item.hidden (10, tr.seq)
           || apex_item.checkbox (20,
                                  tr.seq,
                                  'onchange="spCheckChange(this);"',
                                  :f500_request_list,
                                  'f20_' || '#ROWNUM#'
                                 ) "Is Requested?",
           apex_item.select_list_from_lov_xl (30,
                                              to_room_seq,
                                              'ROOMS_LOV',
                                              'NO',
                                              NULL,
                                              NULL,
                                              'f30_' || '#ROWNUM#',
                                              NULL,
                                              'NO'
      FROM ts_assets ta, ts_reqs tr?
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    ------------------------------------------------------------------------------

  • Multi-Row Hidden Column Submit Processing

    Hi,
    My attempts to select a hidden column value for use in Submit processing only works when I actually display the column in the report region. I want to store the column value in the array (htmldb_item.?????) without displaying it in the report region.
    I have tried using the following htmldb_item functions: hidden, display_and_save, text. When I use the hidden function and set the column attribute to "Show" then the heading displays, no column data displays, and the htmldb_application.g_f01 value is present for use in Submit processing. When I set various column attributes to cause the column to not display then the column value is not present during Submit processing.
    My code snippets for Region Select and Submit processing are:
    "select htmldb_item.hidden(1, sac.student_acad_cred_id) q_acad_cred_id,..."
    "BEGIN
    for i in 1..htmldb_application.g_f01.count
    loop..."
    Couldn't find answer with Forum search or in the Guide. Thanks for any help!

    Bernhard,
    There are two ways to build tabular forms (multi-row update forms). You can either use calls to the htmldb_item API in your query. Or you can use the built-in display types. The build-in types are generally the better option for a number of reasons, for example, the built-in form elements are only rendered for the rows you actually show on your current page. If you use the htmldb_item API and pagination with several pages, then you would make calls to PL/SQL for every row in your report, no matter whether they are shown or not.
    With the built-in display types you can choose the display type “Hidden”, which will actually append the hidden fields to the last column in your report, so the array is there, but you won’t have to deal with column headings and an empty column.
    When using the htmldb_item API, you should simply append the hidden column to a displayed column, e.g. select htmldb_item.text(…)||htmldb_item.hidden(…) [column alias], … from …
    Hope this helps
    Marc

  • Change color multi-row highlite tabular form

    I would like specific instructions on a quick way to change the highlite color when the multi-row check
    box is chosen on a tabular form.
    Thanks,
    Sabrina

    Sabrina,
    To change the background color of the rows selected using the row selector, edit the report template you’re using, scroll down to row highlighting and type the color you like into the field labeled “Background color for checked row”. You can type in the name of the color or the code.
    Hope this helps,
    Marc

Maybe you are looking for

  • Can't send emails to multiple recipients any more?

    Yesterday I had to send an email to some 30 other people (I only do this occasionally). It refused to go and I received this error message:- I have several email accounts but each one was the same. At that time I could not even send single emails but

  • Display size 60gb video

    hi guys, i have a question about the display size of the 60gb video ipod. I just notice that there is a black outline around the actual display. I'm not talking about the screen size, but the actual picture that is being displayed. It does not comple

  • How Do I Get This Patch To Work?

    I'm struggling to get my iDVD 5 to be able to work on DVD projects over the 4.75 GB (2 hour) limit. I'm using an eMac G4 w/a LaCie external dual layer DVD burner on OS X 10.3.9. All the research I've done so far has led to this French patch at: http:

  • ABAP client proxy: request acknowledgement

    Hi, I've read the link [http://help.sap.com/saphelp_nw70/helpdata/EN/f4/8620c6b58c422c960c53f3ed71b432/frameset.htm] which explains the use of ABAP proxies with acknowledgements. I've implemented a corresponding logic. At runtime I see no acknowledge

  • HT201317 How do I edit a photo stream name once I've already created it

    I can't edit my photo stream name once I created before I downloaded the OS 7 I could