0

SmartClientのショーケースのように、XMLタイプのデータソースからのデータを使用して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>

これは問題のスクリーンショットです。(申し訳ありませんが、担当者が画像を投稿できません) 展開ボタンをクリックする 前:リンク(imgur画像) そしてリンク

上の画像によると、この問題は、、、'test212'またはを展開しようとすると発生します'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);

これが私のシングルトンデータソースのプロパティです。

...    
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データはすでにグリッドに正しく渡されています。

ご協力いただきありがとうございます!:)

4

1 に答える 1

1

私はついに解決策を見つけたと思います。これはバグではなく、私自身の不器用な欠点です。

idParentプロジェクトを広範囲にデバッグした後、GETパラメーターにパラメーターがあることに気付きましたが、それを処理しませんでした。その結果、サーブレットは常に完全なXMLデータを出力するため、このエラーが発生します。

于 2014-06-19T06:33:53.273 に答える