Jul 07, 2010, 10:02 AM
[CLOSED] Sorting Disabled in GridPanel
Sorting options are disabled when i go to used to sorting column in gridpanel. Which property can i enable to use sorting options in gridpanel
ASPX
I have used to get column from xml to bind grid panel
ASPX
<ext:GridPanelID="GrdPnl1"StoreID="stoOrderData"runat="server"StripeRows="true"
Border="true"TrackMouseOver="true"MaskDisabled="false">
<ColumnModelID="ColumnModel2"runat="server">
<Columns>
</Columns>
<AjaxEvents>
<HiddenChangeShowWarningOnFailure="false"Timeout="120000"OnEvent="ColumnHiddenChange">
<ExtraParams>
<ext:ParameterName="index"Value="columnIndex"Mode="Raw"/>
<ext:ParameterName="hidden"Value="hidden"Mode="Raw"/>
</ExtraParams>
</HiddenChange>
</AjaxEvents>
</ColumnModel>
<BottomBar>
<ext:PagingToolbarID="PagingToolBar1"runat="server"StoreID="stoOrderData"DisplayInfo="true">
</ext:PagingToolbar>
</BottomBar>
<SelectionModel>
<ext:CheckboxSelectionModelrunat="server">
</ext:CheckboxSelectionModel>
</SelectionModel>
<Plugins>
<ext:GridPanelMaintainScrollPositionOnRefreshID="GridPanelMaintainScrollPositionOnRefresh1"
runat="server">
</ext:GridPanelMaintainScrollPositionOnRefresh>
<ext:GridFiltersrunat="server"ID="gdFilterOrder"Local="true">
<Filters>
</Filters>
</ext:GridFilters>
</Plugins>
<AjaxEvents>
<FilterUpdateOnEvent="Clear_Filter">
</FilterUpdate>
</AjaxEvents>
</ext:GridPanel>
ASPX.CSI have used to get column from xml to bind grid panel
DataSet dsOrderConfirm = new DataSet();
dsOrderConfirm.ReadXml(Server.MapPath("xml/Grid/OrderConfirm_grid.xml"));
JsonReader jr = new JsonReader();
jr.ReaderID = "Key";
RecordField RF = new RecordField();
RF.Name = "Key";
jr.Fields.Add(RF);
DataRow[] drOrderRowNotActive = dsOrderConfirm.Tables["OrderConfirm_Grid"].Select("visible in (2,4)");
for (int ColumnCount = 0; ColumnCount < drOrderRowNotActive.Length; ColumnCount++)
{
RF = new RecordField();
string strColumnName = drOrderRowNotActive[ColumnCount][4].ToString().ToLower();
strColumnName = GlobalFunction.ConvertCaseString(strColumnName, CaseNotation.PascalCase, '_');
RF.Name = strColumnName;
jr.Fields.Add(RF);
}
int IndexTable = -1;
int GridCounter = -1;
DateFilter DF;
StringFilter SF;
NumericFilter NF;
Coolite.Ext.Web.Column colOrder;
DataRow[] drOrderRowActive = dsOrderConfirm.Tables["OrderConfirm_Grid"].Select("1=1");
for (int Counter = 0; Counter < drOrderRowActive.Length; Counter++)
{
if (drOrderRowActive[Counter][5].ToString() == "1" || drOrderRowActive[Counter][5].ToString() == "3")
{
IndexTable = EPTGeneral.GetTable(drOrderRowActive[Counter][1].ToString());
string strColumnName = drOrderRowActive[Counter][4].ToString().ToLower();
strColumnName = GlobalFunction.ConvertCaseString(strColumnName, CaseNotation.PascalCase, '_');
RF = new RecordField();
RF.Name = strColumnName;
colOrder = new Coolite.Ext.Web.Column();
this.GrdPnl1.ColumnModel.Columns.Insert(GridCounter + 1, colOrder);
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].ColumnID = strColumnName;
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].DataIndex = strColumnName;
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Header = dsCaption.Tables[IndexTable].Rows[0][drOrderRowActive[Counter][1].ToString()].ToString();
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Width = Convert.ToInt32(drOrderRowActive[Counter][3].ToString());
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Sortable = false;
if (drOrderRowActive[Counter][2].ToString() == "DATE")
{
RF.Type = RecordFieldType.Date;
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Renderer.Fn = "Ext.util.Format.dateRenderer('" + Session["G_DateFormat"].ToString() + "')";
DF = new DateFilter();
DF.DataIndex = strColumnName;
gdFilterOrder.Filters.Add(DF);
}
else if (drOrderRowActive[Counter][2].ToString() == "STRING")
{
if (drOrderRowActive[Counter][0].ToString() == "eprotex_status")
{
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Renderer.Fn = "status";
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Align = Alignment.Center;
NF = new NumericFilter();
NF.DataIndex = strColumnName;
gdFilterOrder.Filters.Add(NF);
}
else
{
SF = new StringFilter();
SF.DataIndex = strColumnName;
gdFilterOrder.Filters.Add(SF);
}
}
else if (drOrderRowActive[Counter][2].ToString() == "INTEGER")
{
NF = new NumericFilter();
this.GrdPnl1.ColumnModel.Columns[GridCounter + 1].Align = Alignment.Right;
NF.DataIndex = strColumnName;
gdFilterOrder.Filters.Add(NF);
}
else
{
SF = new StringFilter();
SF.DataIndex = strColumnName;
gdFilterOrder.Filters.Add(SF);
}
jr.Fields.Add(RF);
GridCounter++;
}
}
stoOrderData.Reader.Add(jr);
Session["MultipleOrder_Grid_Data"] = OrderList;
GrdPnl1.StoreID = "stoOrderData";
if (OrderList.Count > 0)
{
this.stoOrderData.DataSource = OrderList;
this.stoOrderData.DataBind();
GrdPnl1.ColumnModel.SetHidden(0, false);
}
else
{
DataTable dtEmptyRows = new DataTable();
this.stoOrderData.DataSource = dtEmptyRows;
this.stoOrderData.DataBind();
GrdPnl1.ColumnModel.SetHidden(0, true);
}
Last edited by Vladimir; Jul 07, 2010 at 11:38 AM.