所以这是交易:我有两个网格绑定到以下商店:
<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等于第二个商店中的cdProject,它们是“链接”的(至少在理论上)。
关于网格。每当我单击第一个网格中的一行(绑定到storeProjects)时,我只想用所选项目的历史记录部分填充第二个网格 - 换句话说,就是storeProjectHistory的一个子集,其中cdProject =从第一个网格中选择idProject grid - 而不是整个storeProjectHistory数据。
整个单击一个网格以填充另一个网格可以正常使用Javascript,但就像我之前说的那样,它使用整个商店,我只想要项目的数据。
我以前曾经用大量的Javascript搞得一团糟,它以某种方式工作,但我重写了整个代码以使其更清洁,现在我陷入了这个特殊的境界。我认为我可以使用一些网格属性,而不是我之前用来实现我想要的javascript,但我无法弄清楚如何。请帮帮忙?
BTW:这是一个简化的例子,所以不要介意那些显然没有意义的字段。答案 0 :(得分:0)
类似这样的事情
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel2" runat="server" Mode="Single">
<DirectEvents>
<Select OnEvent="RowSelect_Triger" Buffer="250">
<ExtraParams>
<%how many parameter u need decribe here-%>
<ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw" />
</ExtraParams>
</Select>
</DirectEvents>
</ext:RowSelectionModel>
</SelectionModel>
稍后从codebehind获取参数(在本例中为id),并在此id上加载第二个网格依赖项。
int Id = int.Parse(e.ExtraParams["Id"]);