簡體   English   中英

SWT在數據庫中保存數據的問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM