java - how to delete selected rows (multiple rows) from CheckboxTableViewer when button clicks? (table is connected to oracle database) -
i hava checkboxtableviewer has 10 columns, , table filled database, , have button outside table named "delete", want is:- when select rows using check box (multiple selection also) , when press "delete" button , want selected rows should deleted database, , tableviewer shuold refreshed.
am pasting tableviewer code below:-
final checkboxtableviewer datatable = checkboxtableviewer.newchecklist(tablecomposite2, swt.multi | swt.h_scroll | swt.v_scroll | swt.border |swt.dm_fill_background|swt.full_selection); datatable .gettable().setheadervisible(true); datatable .gettable().setlinesvisible(true); datatable .setcontentprovider(new arraycontentprovider()); //action check box tablecolumn columnchead=new tablecolumn(datatable .gettable(),swt.none); columnchead.settext("delete"); columnchead.setwidth(50); // setting column input tableviewercolumn columnc=new tableviewercolumn(datatable ,columnchead); columnc.setlabelprovider(new columnlabelprovider() { public string gettext(object element) { return null; } }); tablecolumn columnfs1head=new tablecolumn(datatable .gettable(),swt.none); columnfs1head.settext("source directory"); columnfs1head.setwidth(300); tableviewercolumn columnfs1=new tableviewercolumn(datatable ,columnfs1head); columnfs1.setlabelprovider(new columnlabelprovider() { public string gettext(object element) { agedfilemaster a=(agedfilemaster)element; return a.getdirectory_path(); } enter code here});
...... , have button delete operation,(outside table), when press delete button, want selected rows deleted... beginner swt. please help......
use addselectionlistener on button control notified when button pressed:
button.addselectionlistener(new selectionadapter() { public void widgetselected(selectionevent event) { // todo handle delete here } }); you need 2 things remove data - first update data model remove objects , secondly tell table viewer model has changed.
you can this:
datatable.gettable().setredraw(false); // stop redraw during update istructuredselection selection = (istructuredselection)datatable.getselection(); (iterator<?> iterator = selection.iterator(); iterator.hasnext(); ) { object selectedobject = iterator.next(); // todo remove data model array // tell table view object has been removed datatable.remove(selectedobject); } datatable.gettable().setredraw(true); // allow updates drawn an alternative calling datatable.remove on each object call datatable.refresh once @ end. there variant of remove accepts array of objects.
Comments
Post a Comment