Apr 06, 2011, 10:30 AM
How can I reload a grid from a popup window?
My code is:
But how can I reload grid from this popup window?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Example</title>
</head>
<body>
<form id="fEmpl" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Store ID="store_empl" runat="server" AutoLoad="true">
<AutoLoadParams>
<ext:Parameter Name="start" Value="0" Mode="Raw" />
<ext:Parameter Name="limit" Value="5" Mode="Raw" />
</AutoLoadParams>
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="getId" />
<ext:RecordField Name="getName" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
<ext:GridPanel ID="gridp" runat="server" StoreID="store_empl" Width="755" Height="570" Border="false" StripeRows="true"
TrackMouseOver="true" AutoExpandColumn="name">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ColumnID="code" Header="Code" DataIndex="getId" />
<ext:Column ColumnID="name" Header="Name" DataIndex="getName" />
<ext:CommandColumn ColumnID="update" Header="Update" Align="Center" Width="60" >
<Commands>
<ext:GridCommand Icon="Pencil" />
</Commands>
</ext:CommandColumn>
</Columns>
</ColumnModel>
<DirectEvents>
<Command OnEvent="SeeDetails">
<ExtraParams>
<ext:Parameter Name="id" Value="record.data.getId" Mode="Raw" />
</ExtraParams>
</Command>
</DirectEvents>
<BottomBar>
<ext:PagingToolBar ID="PagingToolBar1" runat="server" PageSize="5" StoreID="store_empl" />
</BottomBar>
</ext:GridPanel>
</form>
</body>
</html>
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.store_empl.DataSource = new object[]
{
new object[] { 1, "Phil"},
new object[] { 2, "Jhon"},
new object[] { 3, "Thomas"},
new object[] { 4, "Robert"},
new object[] { 5, "Ralph"},
};
this.store_empl.DataBind();
}
protected void SeeDetails(object sender, DirectEventArgs e)
{
Employee empl = new Employee();
int id = int.Parse(e.ExtraParams["id"]);
Employee empl = empl.GetEmployee(id);
popup.Show(empl);
}
}
Popup allows you to update the fields of the employee selected.But how can I reload grid from this popup window?
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="popup.ascx.cs" Inherits="popup" %>
<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>
<ext:Window ID="windowDetails" runat="server" Title="Details" Width="575" Height="540" Modal="true"
Hidden="true" Layout="Fit" >
<Items>
<ext:TextField ID="txtCode" runat="server" FieldLabel="Code" Disabled="true"/>
<ext:TextField ID="txtName" runat="server" FieldLabel="Name" />
</Items>
<Buttons>
<ext:Button ID="btnUpdate" runat="server" Text="Update">
<DirectEvents>
<Click OnEvent="btnUpdate_Click">
<ExtraParams>
<ext:Parameter Name="Code" Value="record.data.getId" Mode="Raw" />
</ExtraParams>
</Click>
</DirectEvents>
</ext:Button>
</Buttons>
</ext:Window>
protected void btnUpdate_Click(object sender, DirectEventArgs e)
{
...
// Reload gridp ???
}
I checked that does not have visibility of gridpanel from here.
Last edited by walle; Apr 08, 2011 at 12:23 PM.