Hi,
Please see the following sample:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic"%>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!Ext.IsAjaxRequest)
{
this.Store1.DataSource = new object[]
{
new object[] {1,2,3},
new object[] {1,2,3},
new object[] {1,2,3}
};
this.Store1.DataBind();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script runat="server">
protected void PerformSum(object sender, AjaxEventArgs e)
{
string id = e.ExtraParams["recordId"];
Dictionary<string, string> record = JSON.Deserialize<Dictionary<string, string>>(e.ExtraParams["record"]);
int sum = int.Parse(record["x"]) + int.Parse(record["y"]);
ScriptManager1.AddScript("{0}.getById({1}).set('sum', {2})", this.Store1.ClientID, JSON.Serialize(id), sum);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server" />
<ext:Store ID="Store1" runat="server">
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="x" Type="Int" />
<ext:RecordField Name="y" Type="Int" />
<ext:RecordField Name="sum" Type="Int" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
<ext:GridPanel
ID="GridPanel1"
runat="server"
StoreID="Store1"
Title="Grid"
Width="600"
Height="350">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column DataIndex="x" Header="X">
<Editor>
<ext:TextField runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="y" Header="Y">
<Editor>
<ext:TextField runat="server"></ext:TextField>
</Editor>
</ext:Column>
<ext:Column DataIndex="sum" Header="Sum"></ext:Column>
</Columns>
</ColumnModel>
<AjaxEvents>
<AfterEdit OnEvent="PerformSum">
<ExtraParams>
<ext:Parameter Name="recordId" Value="e.record.id" Mode="Raw" />
<ext:Parameter Name="record" Value="Ext.encode(e.record.data)" Mode="Raw" />
</ExtraParams>
</AfterEdit>
</AjaxEvents>
</ext:GridPanel>
</form>
</body>
</html>