Dec 21, 2017, 12:51 PM
Uncaught TypeError: Cannot read property 'type' of null (Dynamic_GridPanels)
I am trying to implement this example:
Dynamic_GridPanels
But when I click to expand the outer grid I receive this error:
By using breakpoints I found out that the error occurred after returning from the DirectMethod. I don't post the code for the outer grid (misArtStore) because is working correctly.
Here is my code:
MarkUp
Dynamic_GridPanels
But when I click to expand the outer grid I receive this error:
Uncaught TypeError: Cannot read property 'type' of null
Here is my code:
MarkUp
<ext:GridPanel
runat="server"
Title="Expander Rows with GridPanel"
Collapsible="true"
AnimCollapse="true"
Icon="Table"
Width="600"
Height="450"
DisableSelection="true">
<Store>
<ext:Store ID="misArtStore" runat="server">
<Model>
<ext:Model runat="server" IDProperty="Id">
<Fields>
<ext:ModelField Name="Id" />
<ext:ModelField Name="missing" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Artifacts" DataIndex="missing" Flex="1" Hideable="false" />
</Columns>
</ColumnModel>
<Plugins>
<ext:RowExpander runat="server">
<Loader runat="server" DirectMethod="#{DirectMethods}.GetGrid" Mode="Component">
<LoadMask ShowMask="true" />
<Params>
<ext:Parameter Name="id" Value="this.record.getId()" Mode="Raw" />
</Params>
</Loader>
</ext:RowExpander>
</Plugins>
</ext:GridPanel>
Code Behind [DirectMethod]
public string GetGrid(Dictionary<string, string> parameters)
{
string id = parameters["id"];
DALP.PDBDataContext dc = new DALP.PDBDataContext();
DAL.AdminDataContext ds = new DAL.AdminDataContext();
string uname = HttpContext.Current.User.Identity.Name;
var clientid = (from u in ds.ClientUsers
where u.UserName == uname
select u.ClientId);
var sites = (from mc in dc.TMFCategories //sites is populated correctly
join mat in dc.TMFTemplateCts on mc.Id equals mat.Catid
join st in dc.Sites on mat.ctid equals st.CTid
where ( (!dc.TMFFiles.Any(x=>x.SiteId==st.Siteid)) && mat.Required == true && mat.Clientid == int.Parse(clientid.First().ToString()) && mat.ctid == ctid && mc.Id == Convert.ToInt32(id))
select new { Siteid = st.Siteid, Site = st.FullName });
GridPanel grid = new GridPanel
{
Height = 200,
EnableColumnHide = false,
Store =
{
new Store
{
Model = {
new Model {
IDProperty = "Siteid",
Fields =
{
new ModelField("Siteid"),
new ModelField("Site")
}
}
},
DataSource = sites
}
},
ColumnModel =
{
Columns =
{
new Column { Text = "Site", DataIndex = "Site", Width = 150 }
}
}
};
return ComponentLoader.ToConfig(grid);
}
Chrome Console:
> Uncaught TypeError: Cannot read property 'type' of null
at F.setLayout (ext.axd:19)
at F.getLayout (ext.axd:19)
at F.add (ext.axd:19)
at g.Ext.ComponentLoader.Renderer.Component (ext.axd:445)
at g.onComplete (ext.axd:495)
at Object.complete (ext.axd:463)
at Object.userSuccess (ext.axd:268)
at F.executeScriptDelay (ext.axd:256)
at F.executeScript (ext.axd:255)
at F.requestSuccessHandler (ext.axd:248)
at F.setLayout (ext.axd:19)
at F.getLayout (ext.axd:19)
at F.add (ext.axd:19)
at g.Ext.ComponentLoader.Renderer.Component (ext.axd:445)
at g.onComplete (ext.axd:495)
at Object.complete (ext.axd:463)
at Object.userSuccess (ext.axd:268)
at F.executeScriptDelay (ext.axd:256)
at F.executeScript (ext.axd:255)
at F.requestSuccessHandler (ext.axd:248)