Delete multiple rows in a JTable ADF Swing.
hi guys,
Would anyone know tell me how do I delete multiple rows in a JTable ADF Swing?
JDeveloper.
Hi,
I would configure the table for multi row selection. Then get the selected row index, access the iterator in the PageDef file (through the panelBinding reference you have in ADF Swing) and then iterate over the selected row indexes, make an index to become the current row and call remove() on it
Frank
Similar Messages
-
Deleting multiple rows from a JTable.
When I am selecting the rows & deleting rows, it gives errors like arrayIndex out Of Bounds exception.
Anyone pls solve the problem.bookmark the search page
http://onesearch.sun.com/search/developers/index.jsp?charset=UTF-8&and=JTable+delete+row&nh=10&phr=&qt=¬=&field=&since=&col=devforums&rf=0 -
Delete Multiple Rows of JTable by selecting JCheckboxes
Hi,
I want delete rows of JTable that i select through JCheckbox on clicking on JButton. The code that i am using is deleting one row at a time. I want to delete multiple rows at a time on clicking on Button.
This is the code i m using
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableTest extends JFrame implements ActionListener
JButton btnAdd;
BorderLayout layout;
DefaultTableModel model;
JTable table;JButton btexcluir;
public static void main(String[] args)
TableTest app = new TableTest();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public TableTest()
super("Table Example");
btnAdd = new JButton("Add");
btnAdd.addActionListener(this);
model = new DefaultTableModel()
public Class getColumnClass(int col)
switch (col)
case 1 :
return Boolean.class;
default :
return Object.class;
table = new JTable(model);
table.setPreferredSize(new Dimension(250,200));
// Create a couple of columns
model.addColumn("Col1");
model.addColumn("Col2");
JCheckBox cbox = new JCheckBox();
// Append a row
JPanel painel = new JPanel();
model.addRow(new Object[] { "v1",new Boolean(false)});
model.addRow(new Object[] { "v3", new Boolean(false)});
JScrollPane scrollPane = new JScrollPane(table);
scrollPane.createVerticalScrollBar();
btexcluir= new JButton("Excluir");
btexcluir.addActionListener(this);
painel.add(btexcluir);
painel.add(btnAdd);
getContentPane().add(scrollPane, BorderLayout.NORTH);
getContentPane().add(painel, BorderLayout.SOUTH);
setSize(600, 600);
setVisible(true);
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnAdd)
model.addRow(new Object[] { "Karl", new Boolean(false)});
if (e.getSource()==btexcluir){
for (int i=0; i <=model.getRowCount(); i++){
if (model.getValueAt(i,1)==Boolean.FALSE)
JOptionPane.showMessageDialog(null, "No lines to remove!!");
else if(model.getValueAt(i,1)==Boolean.TRUE)
model.removeRow(i);
}Please reply me with code help.
Thanks
NitinHi,
Thanks for ur support. My that problem is solved now. One more problem now . Initially i want that delete button disabled. When i select any checkbox that button should get enabled. how can i do that ?
Thanks
Nitin -
How to delete multiple rows from ADF table
How to delete multiple rows from ADF table
Hi,
best practices when deleting multiple rows is to do this on the business service, not the view layer for performance reasons. When you selected the rows to delete and press submit, then in a managed bean you access thetable instance (put a reference to a managed bean from the table "binding" property") and call getSeletedRowKeys. In JDeveloper 11g, ADF Faces returns the RowKeySet as a Set of List, where each list conatins the server side row key (e.g. oracle.jbo.Key) if you use ADF BC. Then you create a List (ArrayList) with this keys in it and call a method exposed on the business service (through a method activity in ADF) and pass the list as an argument. On the server side you then access the View Object that holds the data and find the row to delte by the keys in the list
Example 134 here: http://blogs.oracle.com/smuenchadf/examples/#134 provides you with the code
Frank -
How do i delete multiple rows in JTable
hello
how i delete multiple rows in JTable
when i selected multiple rows from the jtable and delete its give the error ArrayIndexOutOfBoundException
e.g.
int rows[]=jtable.getSelectedRows();
for(int i=0;i<rows.length;i++)
DefaultTableModel model=(DefaultTableModel)jtable.getModel();
model.removeRow(rows);
like this
please help me
merajYou are trying to remove the rows an equal times to the amount of rows selected.
You should remove one row at a time:
model.removeRow(rows);
Change your code into this.
for(int i=0;i<rows.length;i++)
DefaultTableModel model=(DefaultTableModel)jtable.getModel();
model.removeRow(rows[i]); -
I followed following link: http://www.oracle.com/technetwork/developer-tools/adf/learnmore/99-checkbox-for-delete-in-table-1539659.pdf
but when i delete multiple rows i got following error.
Object duplicateRowSet of type View Row Set already exists.
Thanks for Advance
Edited by: 875688 on Apr 9, 2012 5:02 AMIt works always :
DCBindingContainer binding=(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding iterator=binding.findIteratorBinding(iteratorName);
ViewObjectImpl vo=(ViewObjectImpl)iterator.getViewObject();
Vector vector=new Vector();
for(int i=0;i<vo.getRowCount();i++)
Row row=vo.getRowAtRangeIndex(i);
if(row.getAttribute("IsSelect")!=null)
if((Boolean)row.getAttribute("IsSelect")==true)
vector.add(row);
Row[] rows=new Row[vector.size()];
for(int i=0;i<vector.size();i++)
rows=(Row)vector.get(i);
if(rows.length>0)
for(int i=0;i<rows.length;i++)
rows[i].remove(); -
Deleting a row from a JTable using AbstractTableModel
Hi,
Can someone please help me on how should i go about deleting a row in a jtable using the AbstractTableModel. Here i know how to delete it by using vector as one of the elements in the table. But i want to know how to delete it using an Object[][] as the row field.
Thanks for the helpHi,
I'm in desperate position for this please help -
Best practice for deleting multiple rows from a table , using creator
Hi
Thank you for reading my post.
what is best practive for deleting multiple rows from a table using rowSet ?
for example how i can execute something like
delete from table1 where field1= ? and field2 =?
Thank youHi,
Please go through the AppModel application which is available at: http://developers.sun.com/prodtech/javatools/jscreator/reference/codesamples/sampleapps.html
The OnePage Table Based example shows exactly how to use deleting multiple rows from a datatable...
Hope this helps.
Thanks,
RK. -
Updating and deleting multiple rows
Hi!
I have a form on a table with report page where I can filter data through columns.
1. Is it possible to create a button that will delete all the filtered data?
2. Also, I would like to be able to update any column of the filtered dataset to a certain value (that needs to be input somehow). Is that possible?
So far I can only update or delete one row at a time, which isn't useful as I sometimes need to change 100 rows at a time with the same value or delete them.
When I use tabular form, I can't filter rows, but I can delete multiple rows...
Also if there are similar examples, could you please send me a link; I can't seem to find any.
I'm using Apex 4.2.2.
Best Regards,
IvanDeleting multiple rows - [url https://forums.oracle.com/forums/thread.jspa?threadID=2159983]common question
Best answered with Martin's example
http://www.talkapex.com/2009/01/apex-report-with-checkboxes-advanced.html
Depends how you filter your data. You could identify all your limiting variables, and reverse the where clause in a delete process.
As for point 2, you can define a button that redirects to the page, and you can defined all the item values you like using the Action link.
There is likely an example in the supplied package applications.
Scott -
Deleting Multiple Rows From Multiple Tables As an APEX Process
Hi There,
I'm interesting in hearing best practice approaches for deleting multiple rows from multiple tables from a single button click in an APEX application. I'm using 3.0.1.008
On my APEX page I have a Select list displaying all the Payments made and a user can view individual payments by selecting a Payment from the Select List (individual items are displayed below using Text Field (Disabled, saves state) items with a source of Database Column).
A Payment is to be deleted by selecting a custom image (Delete Payments Button) displayed in a Vertical Images List on the same page. The Target is set as the same page and I gave the Request a name of DELETEPAY.
What I tried to implement was creating a Conditional Process On Submit - After Computations and Validations that has a source of a PL/SQL anonymous block as follows:
BEGIN
UPDATE tblDebitNotes d
SET d.Paid = 0
WHERE 1=1
AND d.DebitNoteID = :P7_DEBITNOTEID;
INSERT INTO tblDeletedPayments
( PaymentID,
DebitNoteID,
Amount,
Date_A,
SupplierRef,
Description
VALUES
( :P7_PAYMENTID,
:P7_DEBITNOTEID,
:P7_PAID,
SYSDATE,
:P7_SUPPLIERREF,
:P7_DESCRIPTION
DELETE FROM tblPayments
WHERE 1=1
AND PaymentID = :P7_PAYMENTID;
END;
The Condition Type used was Request = Expression 1 where Expression 1 had a value of DELETEPAY
However this process is not doing anything!! Any insights greatly appreciated.
Many thanks,
Gary....the "button" is using a page level Target,...
I'm not sure what that means. If the target is specified in the definition of a list item, then clicking on the image will simply redirect to that URL. You must cause the page to be submitted instead, perhaps by making the URL a reference to the javaScript doSubmit function that is part of the standard library shipped with Application Express. Take a look at a Standard Tab on a sample application and see how it submits the page using doSubmit() and emulate that.
Scott -
Deleting multiple rows in a report ?
db11gxe , apex 4.0 , firefox 24 ,
how to delete multiple rows in a report at one time ?
thanksHi newbi_egy,
Here is a small demo with few steps that can be used in your scenario-
1) Below is the query of a report on emp table which has empno column with unique values-
SELECT APEX_ITEM.CHECKBOX(1,empno) " ", ename, job FROM emp ORDER by 1
2) A Delete button is created that submits the page.
3) An on-submit process is created with Process point On Submit - After Computation and Validations with condition that the below process runs when Delete button clicked.
BEGIN
FOR i in 1..APEX_APPLICATION.G_F01.count
LOOP
delete from emp where empno=APEX_APPLICATION.G_F01(i);
END LOOP;
END;
I hope this might help you.
Regards,
Das123 -
Adding and Deleting Multiple Rows or Columns
How do you add or delete more than one row or column at a time.
Robby! wrote:
That's a great finding!
I just wrote a feedback requesting a shortcut like this.
It is a pity though that they desing it to work only if you select the header of the row/column. It should be enabled to work from within any cell in the table.
Who wrote such an error ?
These interesting shortcuts behave flawlessly even if the cursor was in D18 for instance.
(a) I never saw them in the delivered resources.
(b) they aren't responding to the OP's question which was about "Adding and Deleting Multiple Rows and Columns"
Yvan KOENIG (from FRANCE vendredi 3 octobre 2008 18:39:01) -
DELETE MULTIPLE ROWS FROM MATRIX
Hi all,
I´M DESPERATED.
I am able to delete row by row in my matrix, but ¿Could anyone post a sample to delete multiple rows?
I´ve been trying several ways but it doesn´t work.
My code is:
========================
Dim i As Long = oMatrix.GetNextSelectedRow
If i > -1 Then
If oMatrix.IsRowSelected(i) = True Then
oMatrix.DeleteRow(i)
End If
========================
Thank you in advanced,
lorenzoDon´t worry, It was a problem with my loop.
Thanks anyway
lorenzo -
Change Row Backgroud color in Jtable : ADF Swings
Hi ,
I have developed a ADF Swings Details Form . On Details FORM LOAD if Check Box is TRUE( means selected) i have to change the back ground color of the JTable row and also i have make that row as READ ONLY mode .
Need help.
Regards
Bhanu Prakashok i found how to do it
i directly inserted this in the renderer code:
if (row == table.getSelectedRow() && column == table.getSelectedColumn())
cell.setBackground(etc);
(curiously it does not work with "if (isSelected)")
thanks :) -
Deleting a row from a JTable using a custom TableModel
Before I waste any of your time I would like to go ahead and just say that I have searched through the forum using "delete row from Jtable" as the search keywords and while I have found very closely related issues, they have not solved my problem. I have found code postings by carmickr and his arguments as to why we should use DefaultTableModel instead of having created our own custom TableModel, and while I do agree, I just am not quite confident enough in applying it to my scenario. See I am reading from a file a bunch of Contractor objects and I am stuffing it into an arraylist which I am using in the following code posting to populate my TableModel which the JTable object in the gui then uses.
My problem is that everything works except when I delete and when I delete I understand that the index is changing because I just removed a row from the arraylist object. Suppose I have 33 rows displaying in the GUI. Now after I delete say row #23, the delete function works and dutifuly the row disappears from the table, but if I try to delete a row say...the last row, it does not work and throws me an IndexOutOfBoundsException which totally makes sense. My question is how do I go about fixing it? Do I have to do something with the setRowCount method?
Any help is appreciated.
Cheers,
Surya
* ContractorTableModel.java
* Created on January 12, 2006, 11:59 PM
package code.suncertify.gui;
import java.util.ArrayList;
import java.util.logging.Logger;
import javax.swing.table.AbstractTableModel;
import code.suncertify.db.Contractor;
* @author Surya De
* @version 1.0
public class ContractorTableModel extends AbstractTableModel {
* The Logger instance. All log messages from this class are routed through
* this member. The Logger namespace is <code>sampleproject.gui</code>.
private Logger log = Logger.getLogger("code.gui");
* An array of <code>String</code> objects representing the table headers.
private String [] headerNames = {"Record Number", "Contractor Name",
"Location", "Specialties","Size", "Rate",
"Owner"};
* Holds all Contractor instances displayed in the main table.
private ArrayList <Object> contractorRecords = new ArrayList<Object>(5);
* Returns the column count of the table.
* @return An integer indicating the number or columns in the table.
public int getColumnCount() {
return this.headerNames.length;
* Returns the number of rows in the table.
* @return An integer indicating the number of rows in the table.
public int getRowCount() {
return this.contractorRecords.size();
* Gets a value from a specified index in the table.
* @param row An integer representing the row index.
* @param column An integer representing the column index.
* @return The object located at the specified row and column.
public Object getValueAt(int row, int column) {
Object [] temp = (Object[]) this.contractorRecords.get(row);
return temp[column];
* Sets the cell value at a specified index.
* @param obj The object that is placed in the table cell.
* @param row The row index.
* @param column The column index.
public void setValueAt(Object obj, int row, int column) {
Object [] temp = (Object []) this.contractorRecords.get(row);
temp [column] = obj;
* Returns the name of a column at a given column index.
* @param column The specified column index.
* @return A String containing the column name.
public String getColumnName(int column) {
return headerNames[column];
* Given a row and column index, indicates if a table cell can be edited.
* @param row Specified row index.
* @param column Specified column index.
* @return A boolean indicating if a cell is editable.
public boolean isCellEditable(int row, int column) {
return false;
* Adds a row of Contractor data to the table.
* @param specialty
* @param recNo The record number of the row in question.
* @param name The name of the contractor.
* @param location Where the contractor is located
* @param size Number of workers for the contractor
* @param rate The contractor specific charge rate
* @param owner Name of owner
public void addContractorRecord(int recNo, String name,
String location, String specialty,
int size, float rate, String owner) {
Object [] temp = {new Integer(recNo), name,
location, specialty, new Integer(size),
new Float(rate), owner};
this.contractorRecords.add(temp);
fireTableDataChanged();
* Adds a Contractor object to the table.
* @param contractor The Contractor object to add to the table.
public void addContractorRecord(Contractor contractor) {
Object [] temp = {new Integer(contractor.getRecordNumber()),
contractor.getName(), contractor.getLocation(),
contractor.getSpecialties(), new Integer(contractor.getSize()),
new Float(contractor.getRate()), contractor.getCustomerID()};
this.contractorRecords.add(temp);
fireTableDataChanged();
* Deletes a row of Contractor data to the table.
* @FIXME Now that I deleted a row then I will have to reset the internal structure so that I can delete again
* @param recNo The record number of the row in question.
public void deleteContractorRecord(int recNo) {
contractorRecords.remove(recNo - 1);
fireTableRowsDeleted(recNo -1, recNo - 1);
}Wow that was a very quick response. Thanks camickr. I am only trying to delete a single row. I do not know how to go about posting a test program for the code I have posted above because honestly the gui itself is 800 lines of code, and then the file reading class is quite funky in itself. I can maybe email you the entire Netbeans project including code so if you are using Netbeans 5 RC2 you can run the code and see for yourself, but that would not be considerate of me.
See I am trying to delete any row at any time...but only one at a time not multiple rows...so if a user decides to delete row 23 and then tries to delete the last row which happens to be row 33 in my case, my setup should be smart enough to still allow to delete the row.
Maybe you are looking for
-
New Windows 8 ignores syncing my Outlook calendar and contacts
My Lenovo Ultrabook Yoga 13 runs Windows 8 and the iTunes sync process totally ignores my Outlook Calendar, Contacts, and Notes. I tried the one-time forced replacement choice, but replacing Calendars, Contacts, and Notes with my PC information and t
-
BADI UDM_COLL_AMT_C
Hi SAP friends, Can any one help me in writing the code for this BADI 'UDM_COLL_AMT_C'. Please check this and help me here is the requirement for this BADI. <b>Requirement:</b> UDM_COLL_AMT_C: BAdI Amount to be collected: The amount to be collected
-
How do I transfer iPhone content back to laptop after hard disk crash
My old hard disk crashed a week ago. How do I transfer all my iPhone content (music, apps, podcasts, ...) back to my laptop after having a new hard disk installed?
-
Link between Reservation and PR
Dear Experts , I need to know how can I link between the reservation (Manual or Automatioc creation) and purchase requisition Thanks in advanced
-
Odd master and subprojects configuration
I've inherited a project that is put together rather oddly. I have been editing some of the topics here and there as requested, but was prompted to take a closer look at the overall project structure when I noticed that, after the master project was