How to remove a row from a rowset obtained via a CachedRowSetDataProvider

I have a table filled from a database that it is bound to.
I have the CachedRowSetDataProvider that supplies the rows.
I want to remove a row from the result set and can't figure out how.
There is a method ... removeRow(RowKey row).
and there is a method ... getRowKey(java.lang.String rowId)
How do I determine what the string id is for, say, row 3?
thanks
jim murray

Thats the tutorial I am working with.
My problem is that the statement tripDataProvider.refresh();
executed when the person drop down changes doesn't seem to clearing the previous persons results.
So I want to clear the rowset myself by deleting the rows individually.
I can find a method to delete a row if I supply the RowKey.
There is a method to get the rowkey if I know the RowID, which is a string.
Unfortunately I dont know the string to use for an arbitrary row.
There should be a simpler way to clear the data from a rowset.
regards
jim murray

Similar Messages

  • How to remove a row from a rowset

    HI,
    I am trying to do a very simple thing, but I got stuck.
    The problem:
    I want to remove a row from a rowset, without removing the row itself. Especially I do not want to remove any entities.
    I need this functionality in several situations, for example when I want to move a row from one rowset to another.
    Another situation is when I have a viewlink not based on an association. When a row is modified so it does not fit to the viewlink's where clause anymore, I need a way to remove it manually (without removig any associated entities),
    I hope someon can help me on this,
    thanks,
    Frank

    Sascha:
    The only workaround I can think of is a true hack, and you'd be entering into a unchartered territory. But, it may be worth a try.
    First, you need to create a subclass of oracle.jbo.server.ViewObjectImpl in the oracle.jbo.server package. This is because you need to override one of the package private methods. Suppose you define oracle.jbo.server.TempBaseViewObjectImpl which extends ViewObjectImpl.
    Override the following method:
    int[] getDeleteParticipants()
    This method returns an array of EO bases for which ViewRow's delete should cause deletion of EntityRow's.
    So, before you remove a ViewRow, you should set some flag in your TempBaseViewObjectImpl, so that getDeleteParticipants() would return "new int[0];" This will cause no EntityRow's to be deleted. Only the ViewRow will be removed from the collection.
    Note that you should reset this flag after the operation, so that you can delete the EntityRow's (when necessary).
    Your real VO should then subclass TempBaseViewObjectImpl.
    Once we fix this problem and provide a real API, you should remove TempBaseViewObjectImpl and extend your real VO from ViewObjectImpl instead of TempBaseViewObjectImpl.
    Thanks.
    Sung

  • How to remove a row from a jtable with DefaultTableModel

    Hi to all,]
    I want to remove a row from jtable. I am using DefaultTableModel.
    I have got some example but every example is given with AbstractTableModel
    Please help me...
    Thanks and Regards

    I want to remove a row from jtable. I am using DefaultTableModel.How do you program without reading the API.
    The name of the method you use is "removeRow". How hard is that to find by reading the API?
    Not only do you not bother to read the API, you don't even bother to read and respond to your old postings when you get help:
    http://forum.java.sun.com/thread.jspa?threadID=5137773
    http://forum.java.sun.com/thread.jspa?threadID=5134667
    http://forum.java.sun.com/thread.jspa?threadID=5131162
    Your on your own in the future.

  • How to remove a row from JTable

    Hi!
    I'm used to remove rows from JTables getting the model and doing a removeRow(num) like this:
    ((DefaultTableModel)jTable1.getModel()).removeRow(0);
    But with ADF and JDeveloper the model says it's a JUTableBinding.JUTableModel but its not accessible.
    How to remove a row in Jdeveloper 10.1.3.4.0?

    Or maybe is just better to refresh data in the jTable but I do not know either like doing it.

  • How to Remove Checked Rows from JTable

    Hello All,
    I am currently working on a JTable, in which I have also include a JCheckbox. What i have to do is to remove all the Rows which are Checked in the JTable, when the 'Delete' button is clicked.
    Please tell me how i can this can be done, it will be of great help.
    Thanks,
    Shikha

    Loop through the TableModel, Use the getValueAt(...) method to find rows with a selected checkBox. Then use the removeRow(...) method of the DefaultTableModel to remove the row.
    Note: make sure your loop starts at the last row of the table and counts down to 0, to simplify the delete logic.

  • How to remove multiple rows from table

    Hi All,
    in my application iam using two tables,
    this is my code
    int selection = wdContext.nodeA().getLeadSelection();
    String num = wdContext.nodeA.geAAt(selection).getV_Num();
         for(int b=0;b<wdContext.nodeVn_Context().size();b++)
                                                      if(wdContext.nodeVn_Context().getVn_ContextElementAt(b).getVa_num().equalsIgnoreCase
                                                      (num))
                                                           wdContext.nodeVn_Context().removeElement(wdContext.nodeVn_Context().getVn_ContextElementAt(b));
    here Vn_Context is having 4 rows, i mean size of Vn_Context is 4. when i use this code to remove that 4 rows based on the condition, which i gave in if, its able to remove only one row, so how to remove those four rows,  is this code correct or not, please help me.

    Hi sushma,
    if you have 4 row then why should you give the condition for removing rrow..because when you gave condition the depends on your lead selection of getVa_num().so you will return perticullar row of getVa_num(). value of lad selection ..this would not match of other row value(getVa_num().so it will remove only that value of lead selection of getVa_num().
    better you remove taht condition.
    int selection = wdContext.nodeA().getLeadSelection();
    String num = wdContext.nodeA.geAAt(selection).getV_Num();
    for(int b=0;b<wdContext.nodeVn_Context().size();b++)
    //if(wdContext.nodeVn_Context().getVn_ContextElementAt(b).getVa_num().equalsIgnoreCase
    //(num))
    wdContext.nodeVn_Context().removeElement(wdContext.nodeVn_Context().getVn_ContextElementAt(b));
    no need to give the condition right now..
    if you want to remove multiselection row,i mean selected row for multiple then you select the row as per your  rows delete.
    for(int b=0;b<wdContext.nodeVn_Context().size();b++)
    if(lead==b || wdcontext.nodeVn_Context().isMultiselection(b){
    wdContext.nodeVn_Context().removeElement(wdContext.nodeVn_Context().getVn_ContextElementAt(b));
    this way you do solve your problem..
    thanks
    jjati

  • How to remove empty row from rfc table output.

    Hello,
      I am using adaptive rfc and printing table output. The table rows start from 2nd row, the first row being empty. How can I remove the empty first row.
    Here is what I tried.
    wdContext.nodeDataSource().nodeTableOutput().moveNext();
    and
    wdContext.nodeDataSource().nodeTableOutput().moveTo(1);
    Neither of them worked. Any clue is appreciated.
    Srinivas

    IWDNodeElement first = wdContext.nodeDataSource().nodeTableOutput().getElementAt(0);
    wdContext.nodeDataSource().nodeTableOutput().removeElement(first);
    Armin

  • BC4J - how to remove invalid Row from ViewObject

    See the simplified code below. I want to insert a number of records in a table in one transaction. For every insert any occuring error is handled (stored) and after all inserts the errors are reported.
    private void insert(ViewObject vo, int id, String flag) {
    try {
    Row row = vo.createRow();
    row.setAttribute("Id", new Integer(id));
    row.setAttribute("Flag", flag);
    vo.insertRow(row);
    appMod.getTransaction().postChanges();
    catch (JboException exc) {
    handleError(exc);
    // appMod.getTransaction().rollback();
    So when inserting 3 records as below:
    insert(vo, 1, "A");
    insert(vo, 2 ,"BB");
    insert(vo, 3, "C");
    a "JBO-27010: Attribute set with value BB for Flag in Testtab has invalid precision/scale" exception will occur in the second record on the statement row.setAttribute("Flag", flag); as the Flag attribute is a varchar2(1). When the 3rd record gets inserted still an error occurs. It seems that the 2nd record is still cached somewhere; it's not been inserted into the ViewObject (from using the debugger I get the impression it's in the Entity object cache). BC4J tries to insert the 2nd row, that only has an Id attribute and no Flag attribute which is defined not null. So the 3rd record which is ok doesn't get inserted....
    How can I get rid of the second row ? Doing a rollback when an exception occurs doesn't work because then the first record which is ok is lost.
    Cheers Hans

    It turns out to be pretty simple - row.remove() does the trick.
    If only I'ld look in the right place first time everytime... :P

  • How to "discard" a row from a view

    It seems to me like a simple thing, but I can't find an answer:
    I want to programmatically remove a row from an executed view's rowset, but I don't want the underlying entities removed?
    [I don't want any pending updates to the entities affected either. It's basically a UI thing - the user does something and I want to make the current row vanish.  I don't need or want to re-execute or alter the database as a result of this particular removal.]
    Anyone know of a vo.removeRowWithoutAffectingEntities method?
    Thanks,
    Mike.

    Found an old thread myself.
    How to remove a row from a rowset
    Will have to give this "hack" a try, I guess. (Sung, has this API been introduced into an unreleased version yet?)
    I had already tried overriding the updateable-entities' remove methods (which are called from row.remove()), but it seems that the view-row hangs around if the entities aren't actually removed. Found some "removeEntityReferences (i.e. set them to null)" method on a QueryCollection and was wondering if calling that followed by a row.remove() might do the trick, but the method's protected anyway. Might still see if I can call it somehow. Any comments on the viability of this, Sung? (Given that the previous work-around was "uncharted territory"....)
    Anyway, I guess I'll give the original work-around a shot. (Or make application non-ideally commit and requery!)
    Mike.

  • How do I remove a row from the database?

    Guys and Gals,
    I'm using Studio Edition Version 11.1.1.3.0.
    The code below will delete a row from my table, but how do I actually delete the row from the database as well?
        DCBindingContainer dcbc = (DCBindingContainer)getBindings();
        DCIteratorBinding dcib = dcbc.findIteratorBinding("TipsSelectorIterator");
        dcib.removeCurrentRow();
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("Commit");
        Object result = operationBinding.execute();
        AdfFacesContext adffacesctx = AdfFacesContext.getCurrentInstance();
        adffacesctx.addPartialTarget(this.getQueryTable()); In this post, I believe Frank sums up what I should do: Remove row from af:table
    >
    The problem in your case is that this removes the row from the iterator but not your business service. EJB exposes explicit methods to remove an entity. A method lime removeEmployees(employee) >expsed on the EJB model must be called.
    You can drag and drop the "removeEmployees" method then as a button to your page. Rename the text label to "Remove" or "Delete". In the opened dialog box, point the method argument to the >following EL #{bindings.iteratorName.currentRow.dataProvider}. Next time you press the button, the row is deleted from the iterator and the business service
    Huh? So to delete the row, I need to expose a method. But where? Do I do this in the AppModuleImpl so I can expose it to the Client Interface? But then how do I access entities? And what data type is the #{bindings.iteratorName.currentRow.dataProvider}?
    If anyone could point me in a general direction, it'd be great.

    Frank and Shay,
    Thank you both for your posts. I'm amazed there's such a great place to get help. Between the forums, ADF code corner, Not Yet Documented ADF Samples, various blogs and tutorials, it's obvious you guys really care about what you do.
    On my example, that approach doesn't seem to work. I tried following it like so in one of the video tutorials by Shay: http://blogs.oracle.com/shay/2010/04/doing_two_declarative_operatio.html. Following Shay's approach, in my particular case, deletes only from the table. Perhaps it is due to my iterator / collection setup?
    TipsSelector (1 to 1) -> TipsView (1 to *)-> DependentBom -(1 to * Recursive)> RecursiveBom
    TipsSelector references the same View Object as TipsView, but it is set as a 1 to 1 relationship so that I can show TipsView on the page one record at a time. This is the same setup as Tuhra2's hierarchy veiwer example. TipsView / DependentBom is a classic parent / child setup. RecursiveBom is DependentBom referencing itself. Think of it as departments within departments within departments etc...
    I have dragged TipsSelector's Named Criteria (All Queriable Attributes) onto my page and created an ADF Query with Table. A remove button on the table's toolbar calls the two actions, Delete (from TipsSelector's iterator) and then Commit. I have modified the code slightly from my previous post but the end result seems to be the same.
        BindingContainer bindings = getBindings();
        OperationBinding operationBinding = bindings.getOperationBinding("Delete");
        operationBinding.execute();
        bindings = getBindings();
        operationBinding = bindings.getOperationBinding("Commit");
        operationBinding.execute();
        AdfFacesContext adffacesctx = AdfFacesContext.getCurrentInstance();
        adffacesctx.addPartialTarget(this.getQueryTable());Page Def file
        <action id="Commit" InstanceName="AppModuleDataControl"
                DataControl="AppModuleDataControl" RequiresUpdateModel="true"
                Action="commitTransaction"/>
        <action IterBinding="TipsSelectorIterator" id="Delete"
                InstanceName="AppModuleDataControl.TipsSelector"
                DataControl="AppModuleDataControl" RequiresUpdateModel="false"
                Action="removeCurrentRow"/>On ppr of the query table, the row is gone. However, when I press the Search button on the query again, the record reappears.
    This is beyond me. Am I somehow deleting from the query results but not the database?

  • First attempt to remove duplicate rows from a table...

    I have seen many people asking for a way to remove duplicate rows from data. I made up a fairly simple script. It adds a column to the table with the cell selected in it, and adds the concatenation of the data to the left into that new column. then it reads that into a list, and walks through that list to find any that are listed twice. Any that are it marks for DELETE.
    It then walks through to find each one marked for delete and removes them (you must go from bottom to top to do this, otherwise your row markings for delete don't match up to the original rows anymore). Last is to delete the column we added.
    tell application "Numbers"
    activate
    tell document 1
    -- DETERMINE THE CURRENT SHEET
    set currentsheetindex to 0
    repeat with i from 1 to the count of sheets
    tell sheet i
    set x to the count of (tables whose selection range is not missing value)
    end tell
    if x is not 0 then
    set the currentsheetindex to i
    exit repeat
    end if
    end repeat
    if the currentsheetindex is 0 then error "No sheet has a selected table."
    -- GET THE TABLE WITH CELLS
    tell sheet currentsheetindex
    set the current_table to the first table whose selection range is not missing value
    end tell
    end tell
    log current_table
    tell current_table
    set list1 to {}
    add column after column (count of columns)
    set z to (count of columns)
    repeat with j from 1 to (count of rows)
    set m to ""
    repeat with i from 1 to (z - 1)
    set m to m & value of (cell i of row j)
    end repeat
    set value of cell z of row j to m
    end repeat
    set MyRange to value of every cell of column z
    repeat with i from 1 to (count of items of MyRange)
    set n to item i of MyRange
    if n is in list1 then
    set end of list1 to "Delete"
    else
    set end of list1 to n
    end if
    end repeat
    repeat with i from (count of items of list1) to 1 by -1
    set n to item i of list1
    if n = "Delete" then remove row i
    end repeat
    remove column z
    end tell
    end tell
    Let me know how it works for y'all, it worked good on my machine, but I know localization is causing errors sometimes when I post things.
    Thanks,
    Jason
    Message was edited by: jaxjason

    Hi jason
    I hope that with the added comments it will be clear.
    Ask if something is always opaque.
    set {current_Range, current_table, current_Sheet, current_Doc} to my getSelection()
    tell application "Numbers09"
    tell document current_Doc to tell sheet current_Sheet to tell table current_table
    set list1 to {}
    add column after column (count of columns)
    set z to (count of columns)
    repeat with j from 1 to (count of rows)
    set m to ""
    tell row j
    repeat with i from 1 to (z - 1)
    set m to m & value of cell i
    end repeat
    set value of cell z to m
    end tell
    end repeat
    set theRange to value of every cell of column z
    repeat with i from (count of items of theRange) to 1 by -1
    (* As I scan the table backwards (starting from the bottom row),
    I may remove a row immediately when I discover that it is a duplicate *)
    set n to item i of theRange
    if n is in list1 then
    remove row i
    else
    set end of list1 to n
    end if
    end repeat
    remove column z
    end tell
    end tell
    --=====
    on getSelection()
    local _, theRange, theTable, theSheet, theDoc, errMsg, errNum
    tell application "Numbers09" to tell document 1
    set theSheet to ""
    repeat with i from 1 to the count of sheets
    tell sheet i
    set x to the count of tables
    if x > 0 then
    repeat with y from 1 to x
    (* Open a trap to catch the selection range.
    The structure of this item
    «class
    can't be coerced as text.
    So, when the instruction (selection range of table y) as text
    receive 'missing value' it behaves correctly and the lup continue.
    But, when it receive THE true selection range, it generates an error
    whose message is errMsg and number is errNum.
    We grab them just after the on error instruction *)
    try
    (selection range of table y) as text
    on error errMsg number errNum (*
    As we reached THE selection range, we are here.
    We grab the errMsg here. In French it looks like:
    "Impossible de transformer «class
    The handler cuts it in pieces using quots as delimiters.
    item 1 (_) "Impossible de transformer «class » "
    item 2 (theRange) "A2:M25"
    item 3 (_) " of «class NmTb» "
    item 4 (theTable) "Tableau 1"
    item 5 (_) " of «class NmSh» "
    item 6 (theSheet) "Feuille 1"
    item 7 (_) " of document "
    item 8 (theDoc) "Sans titre"
    item 9 ( I drop it ) " of application "
    item 10 ( I drop it ) "Numbers"
    item 11 (I drop it ) " en type string."
    I grab these items in the list
    {_, theRange, _, theTable, _, theSheet, _, theDoc}
    Yes, underscore is a valid name of variable.
    I often uses it when I want to drop something.
    An alternate way would be to code:
    set ll to my decoupe(errMsg, quote)
    set theRange to item 2 of ll
    set theTable to item 4 of ll
    set theSheet to item 8 of ll
    set theDoc to item 10 of ll
    it works exactly the same but it's not so elegant.
    set {_, theRange, _, theTable, _, theSheet, _, theDoc} to my decoupe(errMsg, quote)
    exit repeat (*
    as we grabbed the interesting datas, we exit the lup indexed by y.*)
    end try
    end repeat -- y
    if theSheet > "" then exit repeat (*
    If we are here after grabbing the datas, theSheet is not "" so we exit the lup indexed by i *)
    end if
    end tell -- sheet
    end repeat -- i
    (* We may arrive here with two kinds of results.
    if we grabbed a selection, theSheet is something like "Feuille 1"
    if we didn't grabbed a selection, theSheet is the "" defined on entry
    and we generate an error which is not trapped so it stops the program *)
    if theSheet = "" then error "No sheet has a selected table."
    end tell -- document
    (* Now, we send to the caller the interesting datas :
    theRange "A2:M25"
    theTable "Tableau 1"
    theSheet "Feuille 1"
    theDoc "Sans titre" *)
    return {theRange, theTable, theSheet, theDoc}
    end getSelection
    --=====
    on decoupe(t, d)
    local l
    set AppleScript's text item delimiters to d (*
    Cut the text t in pieces using d as delimiter *)
    set l to text items of t
    set AppleScript's text item delimiters to "" (*
    Resets the delimiters to the standard value. *)
    (* Send the list to the caller *)
    return l
    end decoupe
    --=====
    Have fun
    And if it's not clear enough, you may ask for more explanations.
    Yvan KOENIG (from FRANCE mardi 27 janvier 2009 21:49:19)

  • How to remove the row entries

    HI,
    I have a row entry which contains radio button,dropdown,input field,calender.All the fields are dynamic
    All these fields(UI elements) are in one line and these are not in the table.If I add new entry(by clicking NEW ENTRY button),then a new row will be added dynamically with the same UI elements in the new row.Means every new row entry contains radio button,dropdown,input field,calender.
    Problem :- I want to delete one row entries.Means if I delete the 5th row entries,then it should remove all the UI elements(radio button,dropdown,input field,calender) from that 5th row entries only.
    I think I am clear about the requirement.
    Please suggest me how to remove a row entry.These UI elemenets are not table entry.
    Regards
    -Sandip

    Hi Sandeep,
    You can use the below code for deleting a row from table.
    int n = wdContext.nodeProducts().size();//size of node binded with table
    int leadSelected = wdContext.nodeProducts().getLeadSelection();
    // loop backwards to avoid index troubles
    for (int i = n - 1; i >= 0; --i)
    if (wdContext.nodeProducts().isMultiSelected(i) || leadSelected == i )
    wdContext.nodeProducts().removeElement(wdContext.nodeProducts().
    getElementAt(i))
    Hope this will help.
    Regards
    Narendra

  • WebDynpro Java: how to remove blank element from Table and Dropdown.

    Hi  Folks
    In a webdynpro application,
    I created a table and witten the below code to populate the table
         IPrivateDummyView.IFirst_TableElement First_Table_Element = null;
         First_Table_Element = wdContext.nodeFirst_Table().createFirst_TableElement();
         First_Table_Element.setF_Value("One");
         wdContext.nodeFirst_Table().addElement(First_Table_Element);
         First_Table_Element = wdContext.nodeFirst_Table().createFirst_TableElement();
         First_Table_Element.setF_Value("2");
         wdContext.nodeFirst_Table().addElement(First_Table_Element);
    As per the code, i got 2 row in the table.
    But , i have one Empty row on top of the table ,  how to get ride of this.
    i find the same problem happening with dropdown too, where i used DDBI, i populated a the content as mention, but i initial 2 row as blank and then i have my own elements ,as per my code.

    >
    > how to remove blank element from Table and Dropdown
    >
    Change selection property of related node to from 0..1 to 1..1 (mandatory)
    Re: DropdownByIndex and empty line (Thread: DropdownByIndex and empty line )
    Re: Can the empty selection be removed from element dropdownbykey(Thread: Can the empty selection be removed from element dropdownbykey )
    Edited by: Anagha Jawalekar on Nov 18, 2008 10:28 PM

  • How to remove credit card from iphone4s

    how to remove credit card from iphone4s

    Not sure what you mean by this. Are you trying to remove your credit card information from the App Store/iTunes store?

  • How to remove available downloads from the list

    how to remove available downloads from the list without it resuming when i open itunes or check for available downloads?

    There is not a way to remove them from the list.  Just let them download, and then delete them from your library when they are done.

Maybe you are looking for