[英]SWT problems with saving data in the data base
我試圖通過使用swt創建一個可編輯的表,但是我無法保存通過使用toplink在數據庫中修改的日期:
if (referenceViewId.equalsIgnoreCase(TISTableViewPart.ID)) {
//TODO YUCHEN : Register and save objects in db
System.out.println("test");
final IViewPart viewPart = workbenchPage.findView(TISTableViewPart.ID);
final TISTableViewPart vdv = (TISTableViewPart) viewPart;
WorkingUnitMasterDataImpl sessionUow = new WorkingUnitMasterDataImpl();
Object test = vdv.getLocalComposite().getTableViewer().getElementAt(1);
sessionUow.registerObject(test);
try {
sessionUow.commitAndResume();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
通過使用
Object test = vdv.getLocalComposite().getTableViewer().getElementAt(1);
我只能獲取表的第一個列的對象,然后使用
sessionUow.registerObject(test);
保存更改。 有人有想法將整個表作為對象進行注冊和commitResume嗎? 提前致謝。
如果您使用通過ContentProvider正確設置的TableViewer,則假定ContentProvider包含表中包含的所有元素。
如果您的內容提供者實現了IStructuredContentProvider,請嘗試通過getElements()方法訪問這些元素。
Object[] elements = tableViever.getContentProvider().getElements();
如果要注冊對象更改,可以在ContentProvider的setInput()方法中進行。 確實,IContentProvider接口的javadoc建議將此方法作為注冊更改的地方。
如果需要在特定時刻訪問輸入,則可以使用TableViewer對象通過getInput()方法訪問表輸入:
Object tableInput = tableViewer.getInput();
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.