首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在deferRender数据表中使用AngularJS?

如何在deferRender数据表中使用AngularJS?
EN

Stack Overflow用户
提问于 2017-07-21 07:19:52
回答 1查看 308关注 0票数 0

我试过这个密码。

HTML代码

代码语言:javascript
复制
<table id="example" data-datatable="ng">
  <thead>
    <tr>
      <th>S.No</th>
      <th>Menu Name</th>
      <th>Menu Link</th>
      <th>Menu Path</th>
      <th>Icon</th>
    </tr>
  </thead>
  <tbody>
    <tr data-ng-repeat="x in names">
      <td>{{x.iMenu_id}}</td>
      <td>{{x.cMenu_Name}}</td>
      <td>{{x.cLink}}</td>
      <td>{{x.cHelpLink}}</td>
      <td>{{x.cCss_Class}}</td>
    </tr>
  </tbody>
</table>

脚本代码

我正在使用这个函数从web服务中获取数据。

代码语言:javascript
复制
(function (angular) {
        ' ';
        angular.module('AngularApp', ['datatables'])
            .controller('AngularCtrl', ['$scope', '$http', function ($scope, $http) {
                $http.get("AngularJS.asmx/Page_Select")
                    .then(function (response) {
                        $scope.names = response.data.Table;
                        deferRender = true;
                    });
            }])
    })(window.angular);

网络服务(C#)代码

代码语言:javascript
复制
        public class HelloWorldData
        {
            public String Message;
        }

        [WebMethod]
        public void Page_Select()
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            Context.Response.Clear();
            Context.Response.ContentType = "application/json";
            HelloWorldData data = new HelloWorldData();
            string sql = "Exec PB_GetMasterDetails @opt=20";
            SqlDataAdapter da = new SqlDataAdapter(sql, System.Configuration.ConfigurationManager.AppSettings["BB_CONSTR"]);
            DataSet ds = new DataSet();
            da.Fill(ds);
            Context.Response.Write(JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented));
        }

output 我是在web服务中获得这个输出的。

代码语言:javascript
复制
{
  "Table": [
    {
      "iMenu_id": 10,
      "cMenu_Name": "BIRTH REGISTER1",
      "cLink": "/Ward/NewIPPatSearch.aspx",
      "cHelpLink": "Help/About us/aboutaosta.html",
      "cCss_Class": "icon-home"
    },
    {
      "iMenu_id": 14,
      "cMenu_Name": "CHANGE PASSWORD",
      "cLink": "/UserAdmin/tchangepwd.aspx",
      "cHelpLink": "Help/About us/aboutaosta.html",
      "cCss_Class": "icon-home"
    },
    ...
    ...
    ...
    ...
    ...
    ...
    {
      "iMenu_id": 2500,
      "cMenu_Name": "CITY1",
      "cLink": "/Masters/mCity.aspx",
      "cHelpLink": "Help/About us/aboutaosta.html",
      "cCss_Class": "icon-home"
    }
  ]
}

这个方法对我有用,但是加载数据需要相当长的时间。所以我尝试过deferRender方法,但它对我不起作用。有人知道另一个解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-21 07:34:21

你应该试着分析你的瓶颈在哪里..。

以下是我能想到的一些选择:

1.1处理WebRequest (您的数据库获取)的时间

A1 -优化数据库模式或其他优化

1.2将响应数据传输到客户端的时间

A1 -你可以压缩你的数据。

A2 --您可以将数据分页到较小的组(~100条记录),这样用户就可以加载一些数据,并在短时间内获得更多的数据,直到所有2000+记录都收到为止。

1.3处理数据客户端的时间。

A1 --似乎是合法的,我没有看到任何应该放慢速度的东西,但我不是一个有角的忍者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45231428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档