Nov 03, 2009, 9:47 AM
[CLOSED] Dynamic Store/GridPanel with AutoHeight on Grid doesn't show headers.
If you dynamically create a store from a datatable, and dynamically create a gridpanel from the same datatable, and bind,
the Column Headers don't show if you have AutoHeight="true" in the GridPanel.
Set the Height="200" and the column headers DO show!!!
Please let me know how to fix...
STORE:
the Column Headers don't show if you have AutoHeight="true" in the GridPanel.
Set the Height="200" and the column headers DO show!!!
Please let me know how to fix...
STORE:
<ext:Store id="storeMgmt" runat="server" autoload="false" AutoDataBind="true">
<AjaxEventConfig isupload="true" />
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="FundId" Type="Int" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
GRID: <ext:GridPanel id="gridMgmt" striperows="true" Title="Management Company" header="true" trackmouseover="true" runat="server" storeid="storeMgmt" height="200">
<ColumnModel id="ColumnModel2" runat="server">
<Columns>
</Columns>
</ColumnModel>
</ext:GridPanel>
CODE BEHIND: private void FillGrid(Store s, GridPanel g, DataTable dt)
{
s.RemoveFields();
foreach (DataColumn c in dt.Columns)
if (!c.ColumnName.Contains("Id"))
s.AddField(new RecordField(c.ColumnName, RecordFieldType.Auto ));
GridFilters f = new GridFilters();
f.Local = true;
g.Plugins.Add(f);
foreach (DataColumn c in dt.Columns)
{
if (!c.ColumnName.Contains("Id"))
{
StringFilter sFilter = new StringFilter();
sFilter.AutoDataBind = true;
sFilter.DataIndex = c.ColumnName;
f.Filters.Add(sFilter);
}
}
Column col = null;
// g.ColumnModel.Columns.Clear();
foreach (DataColumn c in dt.Columns)
{
if (!c.ColumnName.Contains("Id"))
{
col = new Column();
col.DataIndex = c.ColumnName;
col.ColumnID = c.ColumnName;
col.Header = c.ColumnName;
col.Sortable = true;
col.Width = Unit.Pixel(100);
col.Groupable = false;
col.MenuDisabled = false;
col.Align = Alignment.Center;
g.ColumnModel.Columns.Add(col);
}
}
g.Reconfigure();
s.DataSource = dt;
s.DataBind();
g.DataBind();
}
public void GetRequired(object sender, AjaxEventArgs e)
{
try
{
DataSet ds = SPs.GetRequiredDocuments(Convert.ToInt32(this.hidSelectedEntityTypeId.Text), Convert.ToInt32(this.hidSelectedEntityId.Text)).GetDataSet();
FillGrid(this.storeMgmt, this.gridMgmt, ds.Tables[0]);
ds = null;
}
catch (Exception er)
{
}
}