2011-06-03 37 views
2

我有一個視圖,我有2個ListGrid-s之間拖放工作,拖動幾條記錄後,然後將它們保存到一個POJO類型的對象點擊按鈕「保存」。ListGrid添加記錄onload後創建重複,然後再次拖動相同

當我再次訪問該視圖時,它調用一個方法loadGrid,它將POJO中的這些值拉回到ListGrid中,然後將它們拖到較早的位置,以便它們可以看到之前已添加的內容。當我再次拖放它時,我可以添加相同的主鍵,在ListGrid中創建重複記錄。

我該如何使它看起來像這些記錄一樣?主鍵是相同的,類型是相同的,不知道它可能是什麼...

我使用transferSelectedData將新的權限添加到分配的列表網格和setPreventDuplicates(true)

ListGrid avPrivGrid = null; 
ListGrid assPriv = null; 
TransferImgButton but = null; 

avPrivGrid = new ListGrid(); 
PrivilegesDataSource privDataSource = new PrivilegesDataSource(); 
avPrivGrid.setDataSource(privDataSource); 
avPrivGrid.setAutoFetchData(false); 

ListGridField propUsername = new ListGridField("privName", "Available Priv"); 
propUsername.setType(ListGridFieldType.TEXT); 
avPrivGrid.setFields(propUsername); 

assPriv = new ListGrid(); 
assPriv.setCanAcceptDroppedRecords(true); 
assPriv.setCanEdit(false); 
assPriv.setAutoFetchData(false); 
assPriv.setPreventDuplicates(true); 
assPriv.setDuplicateDragMessage("Can not add duplicates!"); 
assPriv.setCanSelectAll(false); 
assPriv.setAlternateRecordStyles(true); 
assPriv.setLeaveScrollbarGap(true); 
assPriv.setMinHeight(100); 

ListGridField propUserN = new ListGridField("privName", "Assigned Priv"); 
propUserN.setWidth("30%"); 
propUserN.setType(ListGridFieldType.TEXT); 
ListGridField propId = new ListGridField("privId"); 
propId.setWidth("30%"); 
propId.setType(ListGridFieldType.TEXT); 
propId.setHidden(true); 
assPriv.setFields(propId, propUserN); 

but = new TransferImgButton(TransferImgButton.RIGHT); 
    but.addClickHandler(new ClickHandler() 
{ 
    public void onClick(ClickEvent event) 
    { 
     //Duplicate checking will happen automagially! 
      assPriv.transferSelectedData(avPrivGrid); 
    } 
}); 
avPrivGrid.fetchData(); 

回答

1

檢查ID字段是否設置爲數據源中的主鍵。

[IdField].setPrimaryKey(true); 
+0

它被設置爲PrimaryKey – Paul 2011-06-06 08:58:04

1

我有同樣的問題,我有[IdField] .setPrimaryKey(true); 到此爲止,我的結論是,每當有一個數據記錄列表,setDragDataAction(DragDataAction.MOVE)不起作用。如果它不是數據綁定的,它可以工作。

+0

我有你的同樣的問題! 任何建議..? – Dwhitz 2016-05-20 14:08:09

相關問題