のプロパティを読み取ることができません「type」を、私はこの例を実装しようとしています: Dynamic_GridPanelsEXT-NET:キャッチされない例外TypeError:ヌル
しかし、私は外側のグリッドをクリックして展開したときに、私はこのエラーが表示されます。
Uncaught TypeError: Cannot read property 'type' of null
ブレークポイントを使用することで、DirectMethodから戻った後にエラーが発生していることがわかりました。正しく動作しているので、私は外部グリッド(misArtStore
)のコードを投稿しません。ここで
は私のコードです:
マークアップ
[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);
}
クロームコンソールの後ろ
<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>
コード:
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)
(@Przemekによって提供されるソリューションを使用することによって解決画像におけるエラー)
ありがとうございました!私は画像のエラーを解決しましたが、私はまだjavascriptエラーを受け取ります。 'Uncaught TypeError:ヌルのプロパティ 'type'を読み取ることができません。 ' – aggicd
この 'プロパティ'タイプの 'null'はあなたのグリッドの問題とは関係ありません。私は最初の答えに働く解決策を加えました。 – Przemek
しかし、私はいつrowexpanderを拡張しようとするのか?私はあなたの解決策を試みたが、同じエラーが残っている。だから、おそらくそれは 'datasource'とは関係ありません。 – aggicd