问题描述
我是 .Net 的新手。我有使用 ExtJs 的经验,但这是我第一次使用 Ext.Net 创建 webtool,我有一个小问题,我不知道如何修复它。 我有一个 webtool,它有一个 TreeGrid,其中的数据是从 MSsql 获取并正确填充的。单击该 treegrid 中的子项后,将显示一个带有一些选项卡的表单面板。在这些选项卡上,它将是一些带有网格面板的文本字段。我的问题是我无法为 GridPanel 带来数据。我不明白我做错了什么。 我使用的是 Ext.Net v7.2.0 Classic。
我会在下面列出一些代码来看看我在说什么。
这是 GridPanel 视图:
aria-modal="true"
这里是控制器:
<ext-container layout="HBox">
<defaults>
<ext-add key="header" value="false" mode="Raw" />
<ext-add key="frame" value="true" mode="Raw" />
<ext-add key="width" value="100" mode="Raw" />
</defaults>
<items>
<!-- Configure a GridPanel and reference the Store above -->
<ext-gridPanel
title="Grouped Header"
width="800"
height="300"
frame="true">
<!-- Configure a Store -->
<store>
<ext-store id="Store1" data="Model.GridPanel" autoLoad="true">
<fields>
<ext-integerdatafield name="CommentId"/>
<ext-integerdatafield name="CompensationPeriodKey"/>
<ext-stringdatafield name="Title" />
<ext-stringdatafield name="Comment" />
<ext-booleandatafield name="Print" />
</fields>
</ext-store>
</store>
<columns>
<ext-column text="#" dataIndex="CommentId" />
<ext-column text="Print" dataIndex="Print" />
<ext-column text="Title" dataIndex="Title" />
<ext-column text="Comment" dataIndex="Comment" flex='1' />
</columns>
<bbar>
<ext-toolbar>
<items>
<ext-button text="Print" iconCls="x-md md-icon-print" handler="this.up('grid').print();" />
</items>
</ext-toolbar>
</bbar>
</ext-gridPanel>
</items>
</ext-container>
解决方法
我的问题是我无法为 GridPanel 带来数据。我不明白我做错了什么。我使用的是 Ext.Net v7.2.0 Classic。
我使用您与一些测试数据共享的代码进行了测试,这对我来说效果很好。
var model = new MyGridViewModel
{
GridPanel = new List<object>
{
new object[] { 1,1,"Title 1","Hello",true },new object[] { 2,2,"Title 2","Hello World",false }
}
};
return View("Index",model);
输出
要解决此问题,请调试您的代码并检查您从数据库中检索到的 entity
中的实际数据是否与上述测试数据类似。
entity = context.TREEGRID.Include(per => per.GridPanel).FirstOrDefault(per => per.DataPeriodKey == compPeriod);