1

私は Web UI、Dojo、Java などに不慣れです。事前のトピックを参照している場合は、参考文献を教えてください。それが役立ちます。

環境:

  1. URL のターゲット + id を取るJsonStoreを使用してGridxデザインをしています。固定された「id」を使用すると、グリッドは適切にロードされます。

  2. Dynamic Treeがあります。遅延読み込みなどで正常に動作しています。

目的:

ツリー内の特定のノードのクリック (または dblclick) イベントに基づいて、Gridx にデータをロードする必要があります。したがって、ツリー ノード "id":7 がクリックされると、JsonStore: /target/7 が取得され、Gridx に読み込まれます。

問題:

  1. ご想像のとおり、最初は JsonStore に入力する有効な「id」プロパティはありません。ツリーのクリック イベント ハンドラーでは、ユーザーがクリックすると、この値を取得します。したがって、「準備完了」で gridx.startup() を呼び出すことはできません。ウィジェットを「準備完了」に「配置」しましたが。

  2. したがって、次のスニペットを処理する必要があります。


  // this function is called from tree event handler
function LatestTabGridxLoad( id ) {
    console.log( "ID %s fetched.", id );
    LatestTabGridxStore.idProperty = id;
    LatestTabGridx.startup();
    LatestTabGridx.body.refresh();
}

ready(function()
{
    TabLatestAssetTree.startup();
    LatestTabGridx.placeAt( "ReportMiddleTabLatestCenterContainer" );
}

さて、問題は、最初の読み込み時に、ユーザーがクリックせずに「id」なしで、/target/ だけで JsonStore GET が起動されることです。したがって、サーバーは 405 で応答します。その後、ユーザーがクリックすると、「id」のない同じ HTTP GET が HTTP 405 になります。どうにかして「id」を GET URL にフィードできません。私はJSONをチェックしました.それは宣言的(ly)に定義されたスタンドアロンテーブルで動作するので、完璧な形です.

TREEノードをその「id」を介してGridxにリンクする方法を提案してください。また、私が取っているアプローチがこの問題を解決する正しい方法であるかどうかを提案します。

4

1 に答える 1