如何将数据从 MSSQL 添加到 Ext.Net 7.2.0 经典
How to add data from MSSQL to Ext.Net 7.2.0 classic
我是 .Net 的新手。我有使用 ExtJs 的经验,但这是我第一次使用 Ext.Net 创建 webtool,我有一个小问题,我不知道如何修复它。
我有一个 webtool,它有一个 TreeGrid,其中数据是从 MSSQL 获取并正确填充的。单击该树状网格中的一个子项后,将显示一个带有一些选项卡的表单面板。在这些选项卡上,它将是一些带有网格面板的文本字段。我的问题是我无法为 GridPanel 提供数据。我不明白我做错了什么。
我正在使用 Ext.Net v7.2.0 Classic。
我将在下面列出一些代码,看看我在说什么。
这是 GridPanel 视图:
<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>
这是控制器:
namespace MyApp.Controllers
{
public class Controller: Controller
{
public IActionResult Index(int compPeriod)
{
// load entity for selected key
TREEGRID entity = null;
using (var context = new MyDbContext())
{
entity = context.TREEGRID.Include(per => per.GridPanel).FirstOrDefault(per => per.DataPeriodKey == compPeriod);
}
return View("Index", entity);
}
}
}
我的 return 是:
My problem is that i can't bring the data for GridPanel. I dont understand what i'm doing wrong. I'm using the 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);
我是 .Net 的新手。我有使用 ExtJs 的经验,但这是我第一次使用 Ext.Net 创建 webtool,我有一个小问题,我不知道如何修复它。 我有一个 webtool,它有一个 TreeGrid,其中数据是从 MSSQL 获取并正确填充的。单击该树状网格中的一个子项后,将显示一个带有一些选项卡的表单面板。在这些选项卡上,它将是一些带有网格面板的文本字段。我的问题是我无法为 GridPanel 提供数据。我不明白我做错了什么。 我正在使用 Ext.Net v7.2.0 Classic。
我将在下面列出一些代码,看看我在说什么。
这是 GridPanel 视图:
<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>
这是控制器:
namespace MyApp.Controllers
{
public class Controller: Controller
{
public IActionResult Index(int compPeriod)
{
// load entity for selected key
TREEGRID entity = null;
using (var context = new MyDbContext())
{
entity = context.TREEGRID.Include(per => per.GridPanel).FirstOrDefault(per => per.DataPeriodKey == compPeriod);
}
return View("Index", entity);
}
}
}
我的 return 是:
My problem is that i can't bring the data for GridPanel. I dont understand what i'm doing wrong. I'm using the 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);