Jan 04, 2010, 1:44 PM
[CLOSED] Grid record.data for AjaxMethods
Hello,
I am wondering, if I can sent specific record.data of a grid store as parameter to an Ajax method.
E.g. I have the following:
And my AjaxMethod:
My Ajax-Method is never called for this specifc line:
Especially the JsonReader ReaderID of my Store?
Regards,
Martin
I am wondering, if I can sent specific record.data of a grid store as parameter to an Ajax method.
E.g. I have the following:
<ext:Store ID="CustomerStore" runat="server" AutoLoad="true" DataSourceID="objectDataSourceCustomer"
OnRefreshData="CustomerStore_Refresh" RemoteSort="true">
<Proxy>
<ext:DataSourceProxy />
</Proxy>
<BaseParams>
<ext:Parameter Name="search" Encode="false" Mode="Raw" Value="#{textFieldSearch}.getValue()" />
</BaseParams>
<AutoLoadParams>
<ext:Parameter Name="start" Value="0" Mode="Raw" />
<ext:Parameter Name="limit" Value="5" Mode="Raw" />
</AutoLoadParams>
<Reader>
<ext:JsonReader ReaderID="Personal_Id" TotalProperty="totalCount">
<Fields>
<ext:RecordField Name="Personal_Id" Type="Int" />
<ext:RecordField Name="Vorname" />
<ext:RecordField Name="Nachname" />
<ext:RecordField Name="Username" />
<ext:RecordField Name="Kostenstelle_Code" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
//...
<ext:GridPanel ID="CustomerPanel" Height="560" runat="server" StoreID="CustomerStore"
AutoExpandColumn="Personal" Header="false" EnableHdMenu="false">
<TopBar>
<ext:Toolbar ID="TopToolbar" runat="server">
<Items>
<ext:TextField ID="textFieldSearch" EmptyText="Suchwort..." runat="server" EnableKeyEvents="true">
<Listeners>
<KeyPress Handler="#{CustomerPanel}.reload();" Buffer="500" />
</Listeners>
</ext:TextField>
</Items>
</ext:Toolbar>
</TopBar>
<ColumnModel>
<Columns>
<ext:Column ColumnID="Username" Sortable="false" Width="400" Header="">
<Renderer Fn="templateUsername" />
</ext:Column>
<ext:Column ColumnID="Personal" Sortable="false" Header="">
<Renderer Fn="templateEPOSCustomSelector" />
</ext:Column>
</Columns>
</ColumnModel>
<BottomBar>
<ext:PagingToolbar ID="PagingBar" runat="server" StoreID="CustomerStore" PageSize="5" />
</BottomBar>
<LoadMask ShowMask="true" />
<SelectionModel>
<ext:RowSelectionModel />
</SelectionModel>
<Listeners>
<CellClick Handler="#{AjaxMethods}.SetUser(record.data.Personal_Id);" />
</Listeners>
</ext:GridPanel>
</Center>
And my AjaxMethod:
[AjaxMethod]
public void SetUser(int userId)
{
_selectedUser = new Ps_Personal_T(userId);
Ext.Msg.Alert("Name", _selectedUser.Username).Show();
}
My Ajax-Method is never called for this specifc line:
<Listeners>
<CellClick Handler="#{AjaxMethods}.SetUser(record.data.Personal_Id);" />
</Listeners>
When I run a static example with:
<Listeners>
<CellClick Handler="#{AjaxMethods}.SetUser('837');" />
</Listeners>
It works fine. So I guess my AjaxMethod is ok. How can I pass values of my Grid Data Store to the Ajax-Method?Especially the JsonReader ReaderID of my Store?
Regards,
Martin