2012-05-17 47 views
0

我正在使用XML類型DataSource中的數據構建TreeGrid,如在SmartClient展示中一樣。SmartGWT:TreeGrid展開空文件夾重置樹

我使用的是Windows XP和SmartGWT版本3.0,GWT SDK 2.4.0(使用Eclipse IDE)。

然而,問題是,當我嘗試展開一個空文件夾中,樹會自行關閉/復位復位(因爲我使用複選框樹選擇類型),以無做出所有的選擇,也我得到這個錯誤(警告):

[ERROR] [testtree] - 15:19:26.637:XRP0:WARN:ResultTree:isc_ResultTree_0 (created by: isc_TreeGrid_0):Adding node to tree with id property set to:1. A node with this ID is already present in this Tree - that node will be replaced. Note that this warning may be disabled by setting the reportCollisions attribute to false. 

這實際上是這個(http://forums.smartclient.com/showthread.php?t=20167)很相像,但他沒有解釋的解決方案。 :(

這是測試值我使用XML數據源:

... 
<record> 
<id>1</id> 
<parentId>0</parentId> 
<name>test1</name> 
</record> 

<record> 
<id>2</id> 
<parentId>1</parentId> 
<name>test41</name> 
</record> 

<record> 
<id>3</id> 
<parentId>2</parentId> 
<name>test2</name> 
</record> 

<record> 
    <id>4</id> 
    <parentId>3</parentId> 
    <name>test212</name> 
</record> 

這是問題的屏幕截圖;(遺憾沒有足夠的代表不能發佈圖像) 之前我點擊展開按鈕:link (imgur image) 和,link

根據上面的圖片,如果我嘗試擴大'test212'會出現這個問題,鄰r 'test2'

,這是我的TreeGrid性質的片段:

... 
TreeGrid test = new TreeGrid(); 
test.setAutoFetchData(true); 
test.setDataSource(SingletonDS.getInstance()); 
test.setSelectionAppearance(SelectionAppearance.CHECKBOX); 
test.setShowPartialSelection(true); 
test.setShowSelectedStyle(false); 

layout.addMember(test); 

,這是我單身的DataSource屬性:

...  
singleton.setDataFormat(DSDataFormat.XML); 

singleton.setID("singletonDS"); 

DataSourceIntegerField idField = new DataSourceIntegerField("id", "ID"); 
idField.setPrimaryKey(true); 
DataSourceIntegerField parentIdField = new DataSourceIntegerField("parentId", "Parent ID"); 
parentIdField.setForeignKey(singleton.getID()+".id"); 
parentId.setRootValue(0); 
DataSourceTextField nameField = new DataSourceTextField("name", "Name"); 

singleton.setFields(idField, parentIdField, nameField); 
... 

注:XML數據已經正確地傳遞到電網。

感謝您的幫助! :)

+0

您使用的是什麼版本的SmartGWT?你有沒有嘗試過使用最後一個晚上的版本?有時候,這種錯誤來自框架錯誤。讓我們知道。 –

+0

嗨,對不起,回覆遲!我正在使用Windows XP和SmartGWT版本3.0,GWT SDK 2.4.0(使用Eclipse IDE)。將在主帖中更新它。不,我沒有嘗試過每晚的建築。 :) 謝謝你的幫助! – dvdchr

+0

如果您使用其他ID,會發生什麼情況?在上面的代碼中,從10開始。這可能與某些「automaticaly」創建的節點(根節點)有關? –

回答

1

我想我終於找到了解決方案。這不是錯誤,這是我自己笨拙的錯誤。

在廣泛調試項目後,我注意到GET參數中有一個idParent參數,我沒有處理它。結果,servlet總是輸出完整的XML數據,因此產生了這個錯誤。