如何将数据从 MSSQL 添加到 Ext.Net 7.2.0 经典版

问题描述

我是 .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>

我的回报是:

enter image description here

解决方法

我的问题是我无法为 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); 

输出

enter image description here

要解决此问题,请调试您的代码并检查您从数据库中检索到的 entity 中的实际数据是否与上述测试数据类似。

entity = context.TREEGRID.Include(per => per.GridPanel).FirstOrDefault(per => per.DataPeriodKey == compPeriod);