取引は次のとおりです。次のストアにバインドされた 2 つのグリッドがあります。
<ext:Store ID="storeProjects" runat="server" UseIdConfirmation="true">
<Reader>
<ext:JsonReader IDProperty="idProject" >
<Fields>
<ext:RecordField Name="idProject" Type="Int" />
<ext:RecordField Name="nmProject" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:Store ID="storeProjectHistory" runat="server" UseIdConfirmation="true" >
<Reader>
<ext:JsonReader IDProperty="cdProject">
<Fields>
<ext:RecordField Name="cdProject" Type="Int" />
<ext:RecordField Name="nmProject" Type="String" />
<ext:RecordField Name="csStatus" Type="String" />
<ext:RecordField Name="dsDescription" Type="String" />
<ext:RecordField Name="dtChange" Type="Auto" DateFormat="MM/yyyy" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
それらは、最初のストアの idProject を 2 番目のストアの cdProject に等しくすることで (少なくとも理論上は) "リンク" されます。
グリッドに。最初のグリッド (storeProjects にバインドされている) の行をクリックするたびに、選択したプロジェクトの履歴で 2 番目のグリッドを部分的にのみ埋めたいと思います。つまり、cdProject = 最初から選択した idProject の storeProjectHistory のサブセットです。 grid - storeProjectHistory データ全体ではありません。
1 つのグリッド全体をクリックして別のグリッドを埋めることは Javascript でうまく機能しますが、前に述べたように、それはストア全体を使用し、特定のプロジェクトのデータのみが必要です。
私は以前に大量の Javascript で大混乱を起こしていましたが、何とか機能しましたが、コード全体を書き直してきれいにしましたが、この特定の時点で立ち往生しています。いくつかのグリッド プロパティを使用でき、以前に使用した Javascript をはるかに少なくして、目的を達成できると考えていますが、その方法がわかりません。助けてください?
ところで: これは単純化された例であるため、明らかに意味をなさないフィールドは気にしないでください。