我有一個視圖,我有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();
它被設置爲PrimaryKey – Paul 2011-06-06 08:58:04