Oct 04, 2011, 11:22 AM
[CLOSED] Hidden Change and Grid Filters are not working after Grid Reconfigure
Hi:
I have a page with Grid and a button to Reconfigure the grid, after the page gets loaded, I click on "Reconfigure Store" button.
1. Now I proceed to hide a column, I get Coolite Error and the HiddenChange event is not getting fired.
2. The Grid Filters are not getting displayed.
here is my Code. kindly help me out of this 2 issue.
I have a page with Grid and a button to Reconfigure the grid, after the page gets loaded, I click on "Reconfigure Store" button.
1. Now I proceed to hide a column, I get Coolite Error and the HiddenChange event is not getting fired.
2. The Grid Filters are not getting displayed.
here is my Code. kindly help me out of this 2 issue.
<%@ Page Language="C#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ Register TagPrefix="ext" Namespace="Ext.Net" Assembly="Ext.Net" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
InitializeControls();
}
}
private System.Collections.Generic.List<UserDetail> Data()
{
System.Collections.Generic.List<UserDetail> lstUsers = new System.Collections.Generic.List<UserDetail>();
lstUsers.Add(new UserDetail("3m Co", "Address 1", "12345678"));
lstUsers.Add(new UserDetail("2m Co", "Address 2", "12345672"));
lstUsers.Add(new UserDetail("1m Co", "Address 3", "12345671"));
lstUsers.Add(new UserDetail("5m Co", "Address 4", "12345675"));
return lstUsers;
}
protected void ColumnHiddenChange(object sender, DirectEventArgs e)
{
string strColumnName = e.ExtraParams["columnName"].ToString();
}
[DirectMethod]
public void ReConfigureStore()
{
InitializeControls();
grdTest.Reconfigure();
}
private void InitializeControls()
{
JsonReader jReader = new JsonReader();
RecordField rfUserName = new RecordField();
rfUserName.Name = "UserName";
jReader.Fields.Add(rfUserName);
RecordField rfUserAddress = new RecordField();
rfUserAddress.Name = "UserAddress";
jReader.Fields.Add(rfUserAddress);
RecordField rfUserPhone = new RecordField();
rfUserPhone.Name = "UserPhone";
jReader.Fields.Add(rfUserPhone);
stTest.Reader.Add(jReader);
Column objColumn = new Column();
objColumn.DataIndex = "UserName";
objColumn.Header = "Name";
grdTest.ColumnModel.Columns.Add(objColumn);
objColumn = new Column();
objColumn.DataIndex = "UserAddress";
objColumn.Header = "Address";
grdTest.ColumnModel.Columns.Add(objColumn);
objColumn = new Column();
objColumn.DataIndex = "UserPhone";
objColumn.Header = "Phone";
grdTest.ColumnModel.Columns.Add(objColumn);
StringFilter sFilter = new StringFilter();
sFilter.DataIndex = "UserName";
grdTestFilters.Filters.Add(sFilter);
sFilter = new StringFilter();
sFilter.DataIndex = "UserAddress";
grdTestFilters.Filters.Add(sFilter);
sFilter = new StringFilter();
sFilter.DataIndex = "UserPhone";
grdTestFilters.Filters.Add(sFilter);
this.stTest.DataSource = this.Data();
this.stTest.DataBind();
}
public class UserDetail
{
private string _strUserName = string.Empty;
private string _strUserAddress = string.Empty;
private string _strUserPhone = string.Empty;
public string UserName { get { return _strUserName; } set { this._strUserName = value; } }
public string UserAddress { get { return _strUserAddress; } set { this._strUserAddress = value; } }
public string UserPhone { get { return _strUserPhone; } set { this._strUserPhone = value; } }
public UserDetail(string strUserName, string strUserAddress, string strUserPhone)
{
this._strUserName = strUserName;
this._strUserAddress = strUserAddress;
this._strUserPhone = strUserPhone;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test Cache</title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ScriptManager1" runat="server">
</ext:ResourceManager>
<ext:Store ID="stTest" runat="server">
<Reader>
</Reader>
</ext:Store>
<ext:Viewport ID="vportTest" runat="server">
<Content>
<ext:BorderLayout ID="brdTest" runat="server">
<North>
<ext:Panel ID="pnlButtons" runat="server" Height="30">
<Content>
<ext:Button ID="btnReconfigure" runat="server" Text="Reconfigure Store">
<Listeners>
<Click Handler="Ext.net.DirectMethods.ReConfigureStore();" />
</Listeners>
</ext:Button>
</Content>
</ext:Panel>
</North>
<Center>
<ext:GridPanel ID="grdTest" runat="server" StoreID="stTest">
<ColumnModel ID="grdColumnmodel">
<Columns>
</Columns>
<DirectEvents>
<HiddenChange OnEvent="ColumnHiddenChange">
<ExtraParams>
<ext:Parameter Name="columnName" Value="grdColumnmodel.getColumnId(columnIndex)"
Mode="Raw" />
</ExtraParams>
</HiddenChange>
</DirectEvents>
</ColumnModel>
<Plugins>
<ext:GridFilters runat="server" ID="grdTestFilters">
<Filters>
</Filters>
</ext:GridFilters>
</Plugins>
<View>
<ext:GridView ForceFit="true">
</ext:GridView>
</View>
</ext:GridPanel>
</Center>
</ext:BorderLayout>
</Content>
</ext:Viewport>
</form>
</body>
</html>
Last edited by Daniil; Oct 20, 2011 at 6:26 PM.
Reason: [CLOSED]