MVC3下利用Infrastics Jquery Grid+JPaginate 制作Grid

显示效果


页面代码(Index.cshtml):

@using AspnetMvc.NorthwindService
@using AspnetMvc.ServiceReference1
@using Infragistics.Web.Mvc
@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>AdvanceFilter</title>
</head>
<body>
<link type="text/css" href="../../Style/mvc/jQueryThemes/base/ig.ui.min.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../Style/PageJquey/css/style.css" media="screen"/>
<link href="../../Style/mvc/jQueryThemes/base/ig.ui.editors.css" rel="stylesheet" type="text/css" />
<link href="../../Style/mvc/jQueryThemes/base/ig.ui.grid.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../Scripts/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.tmpl.js"></script>
<script type="text/javascript" src="../../Scripts/Samples/combined/min/ig.ui.min.js"></script>
<script type="text/javascript" src="../../Scripts/ig.util.js"></script>
<script type="text/javascript" src="../../Scripts/ig.dataSource.js"></script>
<script type="text/javascript" src="../../Scripts/ig.ui.shared.js"></script>
<script type="text/javascript" src="../../Scripts/ig.ui.editors.js"></script>
<script type="text/javascript" src="../../Scripts/ig.ui.grid.framework.js"></script>
<script type="text/javascript" src="../../Scripts/ig.ui.grid.filtering.js"></script>
<script src="../../Style/PageJquey/jquery.paginate.js" type="text/javascript"></script>
   @* <script type="text/javascript">
        $("#grid1").live("iggridfilteringdatafiltering", function (event, args) { alert(args.owner._currentAdvancedExpressions.toString()); });
    </script>*@
      <script type="text/javascript">
          $('#igGrid1').live('iggridfilteringdatafiltered', function (event, args) {
              $.ajax({
                  url: "/Home/ChangePagingBar",
                  cache: false,
                  type: 'POST',
                  dataType: 'html',
                  //data: ({ page: $("#igGrid1") }),
                  success: function (data, textStatus, jqXHR) {
                      $("#paging").html(data);
                  },
                  error: function (jqXHR, textStatus, errorThrown) {
                      alert($("#grid").val());
                  }
              });
          });
         $(document).ready(function () {
        $("#demo1").paginate({
            count: @ViewData["pageNum"],
            start: 1,
            display: 16,
            border: true,
            border_color: '#fff',
            text_color: '#fff',
            background_color: 'black',
            border_hover_color: '#ccc',
            text_hover_color: '#000',
            background_hover_color: '#fff',
            images: false,
            mouse: 'press',
            onChange: function (page) {
                $.ajax({
                    url: "/Home/Paging",
                    cache: false,
                    type: 'POST',
                    dataType: 'html',
                    data: ({ page: page }),
                    success: function (data, textStatus, jqXHR) {

                        $("#bbb").html(data);
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        alert($("#grid").val());
                    }
                });
            }
        });






        $("#clearButton").click(function () {
            $("#igGrid1").igGridFiltering('filter', ([{ fieldName: "MetricId", expr: "", cond: "startWith"}]));
            //$("#igGrid1").igGridPaging("pageIndex", 0);
        });



        var preFileName = "Content/themes/UIDarkness/jquery.ui.custom.css";
        var preFileRef = document.createElement("link");
        preFileRef.setAttribute("rel", "stylesheet");
        preFileRef.setAttribute("type", "text/css");
        preFileRef.setAttribute("href", preFileName);
        document.getElementsByTagName("head")[0].appendChild(preFileRef);
        $("#ThemeSelector").change(function () {
            var filename = "Content/themes/" + $(this).attr('value') + "/jquery.ui.custom.css";
            var fileref = document.createElement("link");
            fileref.setAttribute("rel", "stylesheet");
            fileref.setAttribute("type", "text/css");
            fileref.setAttribute("href", filename);
            document.getElementsByTagName("head")[0].appendChild(fileref);
        });
    });
        
    </script>
  <h2>Select a theme : 
<select id="ThemeSelector">
    <option value="UIDarkness" selected="selected">UIDarkness</option>
    <option value="UILightness" >UILightness</option>
    <option value="Smoothness" >Smoothness</option>
    <option value="Redmond" >Redmond</option>
    <option value="LeFrog" >LeFrog</option>
    <option value="Trontastic" >Trontastic</option>
    <option value="MintChoc" >MintChoc</option>
</select>
</h2>
<div>
<input id="clearButton" type="button" value="Reset"/>
</div>

<div id="grid">
@(Html.Infragistics().Grid<MetricNodes>()
        .ID("igGrid1")
    .Columns(column =>
    {
        column.For(x => x.MetricId).DataType("int").HeaderText("MetricId").Width("150");
        column.For(x => x.HostName).DataType("string").HeaderText("HostName").Width("200");
        column.For(x => x.MetricName).DataType("string").HeaderText("MetricName").Width("200");
        //column.For(x => x.AccountDate).DataType("date").HeaderText("Account Date");
        //column.For(x => x.AccountType).DataType("string").HeaderText("Account Type");
        //column.For(x => x.AccountBalance).DataType("number").HeaderText("Account Balance");
    })
    .Features(features =>
                  {
                   
        features.Filtering().Mode(FilterMode.Advanced).Type(OpType.Remote);
                      
        //features.Paging().PageSize(10);
                      

        features.Sorting().Mode(SortingMode.Single).Type(OpType.Remote).ColumnSettings(settings =>
        {
            settings.ColumnSetting().ColumnKey("Account Number").AllowSorting(true);

        });
        features.Selection().MouseDragSelect(true).MultipleSelection(true).Mode(SelectionMode.Row);
    })
    .ClientDataSourceType(ClientDataSourceType.JSON)
    .Width("550")
    .Height("400")
        .LocalSchemaTransform(true)
        //.DataSource(ViewData["metrics"])
            .DataSourceUrl("/Home/GetMeteicNodes")
        .DataBind().Render()
)
<div id="bbb"></div>
</div>

<div id="paging">
    <div id="demo1"></div>
</div>
</body>
</html>


controller逻辑(HomeController.cs):

using System;
using System.Collections.Generic;
using System.Data.Services.Client;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using AspnetMvc.ServiceReference1;
using Infragistics.Web.Mvc;

namespace AspnetMvc.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            //foreach (var Records in Models.AccountModels.GetPageNum().ToList())
            //{
            //    int totalRecords = Records.MetricId;
            //    ViewData["pageNum"] = totalRecords / 10 + 1;
            //}
            ViewData["pageNum"] = 101;
            return View();
        }




        public ActionResult AdvanceFilter()
        {
            return View();
        }

        [GridDataSourceAction]
        public ActionResult GetMeteicNodes()
        {
            string page = string.Empty;
            string pageSize = string.Empty;
            if (!String.IsNullOrEmpty(Request.QueryString["pageIndex"]))
            {
                page = Request.QueryString["pageIndex"];
            }
            else
            {
                if (!String.IsNullOrEmpty(Request.QueryString["page"]))
                {
                    page = Request.QueryString["page"];
                }
                else
                {
                    page = "1";
                }

            }

            if (!String.IsNullOrEmpty(Request.QueryString["pageSize"]))
            {
                pageSize = Request.QueryString["pageSize"];
            }
            else
            {
                pageSize = "10";
            }
            string filterMetricId = Request.QueryString["filter(MetricId)"];
            string filterHostName = Request.QueryString["filter(HostName)"];
            string filterMetricName = Request.QueryString["filter(MetricName)"];
            string sortMetricId = Request.QueryString["sort(MetricId)"];
            string sortHostName = Request.QueryString["sort(HostName)"];
            string sortMetricName = Request.QueryString["sort(MetricName)"];
            string filterLogic = Request.QueryString["filterLogic"];
            if (!String.IsNullOrEmpty(filterLogic))
            {
                //ViewData["pageNum"] = Models.AccountModels.GetFilterPageNum(filterMetricId, filterHostName,
                //                                                            filterMetricName, filterLogic);
                Session["pageNum"] = 24;
                Session["filterMetricId"] = filterMetricId;
                Session["filterHostName"] = filterHostName;
                Session["filterMetricName"] = filterMetricName;
                Session["filterLogic"] = filterLogic;
            }

            return View(Models.AccountModels.GetMeteicNodes(page, pageSize, filterMetricId, filterHostName, filterMetricName, sortMetricId, sortHostName, sortMetricName, filterLogic));
        }

        public ActionResult Paging()
        {
            string page = Request["page"];
            ViewData["pageIndex"] = Request["page"];
            ViewData["metrics"] = Models.AccountModels.GetMeteicNodes(page, "10", Session["filterMetricId"] == null ? "" : Session["filterMetricId"].ToString(), Session["filterHostName"] == null ? "" : Session["filterHostName"].ToString(), Session["filterMetricName"] == null ? "" : Session["filterMetricName"].ToString(), Session["filterLogic"] == null ? "" : Session["filterLogic"].ToString(), "", "", "");
            return PartialView();
        }
       
        public ActionResult ChangePagingBar()
        {
            ViewData["pageNum"] = Session["pageNum"];
            return PartialView();
        }



    }
}

model逻辑(AccountModel.cs)

        public static IQueryable<Product> GetProductList()
        {
            var context = new NorthwindEntities(new Uri("http://services.odata.org/Northwind/Northwind.svc/"));

            var products = from product in context.Products
                           where (product.ProductID.Equals(8))&&(product.ProductName.Contains("a"))
                           select product;
            //ViewData["ProductList"] = products.ToList();
            List<Product> ps = products.ToList();
            return products.ToList().AsQueryable<Product>();
        }


        public static IQueryable<MetricNodes> GetMeteicNodes(string page, string pageSize, string filterMetricId, string filterHostName, string filterMetricName, string sortMetricId, string sortHostName, string sortMetricName, string filterLogic)
        {
            string filterMetricIdIntercept = string.Empty;
            string filterMetricIdValue = string.Empty;
            string filterHostNameIntercept = string.Empty;
            string filterHostNameValue = string.Empty;
            string filterMetricNameIntercept = string.Empty;
            string filterMetricNameValue = string.Empty;
            string filterCondition = "Where ";
            if (!String.IsNullOrEmpty(filterMetricId))
            {
                string[] arryFilterMetricId = filterMetricId.Split(',');
                foreach (string s in arryFilterMetricId)
                {
                    filterMetricIdIntercept = s.Substring(0, s.IndexOf("("));
                    filterMetricIdValue = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1);
                    if (!String.IsNullOrEmpty(filterMetricIdIntercept) && !String.IsNullOrEmpty(filterMetricIdValue))
                    {
                        //query.AddQueryOption(filterMetricIdIntercept, filterMetricIdValue);
                        switch (filterMetricIdIntercept)
                        {
                            case "startsWith":
                                filterCondition = filterCondition + "m.MetricId like '%" + filterMetricIdValue + "' " + filterLogic + " ";
                                break;

                            case "endsWith":
                                filterCondition = filterCondition + "m.MetricId like '" + filterMetricIdValue + "%' " + filterLogic + " ";
                                break;

                            case "contains":
                                filterCondition = filterCondition + "m.MetricId like '%" + filterMetricIdValue + "%' " + filterLogic + " ";
                                break;

                            case "doesNotContain":
                                filterCondition = filterCondition + "m.MetricId not like '%" + filterMetricIdValue + "%' " + filterLogic + " ";
                                break;

                            case "equals":
                                filterCondition = filterCondition + "m.MetricId='" + filterMetricIdValue + "' " + filterLogic + " ";
                                break;

                            case "doesNotEqual":
                                filterCondition = filterCondition + "m.MetricId!='" + filterMetricIdValue + "' " + filterLogic + " ";
                                break;
                        }
                    }
                }
            }


            if (!String.IsNullOrEmpty(filterHostName))
            {
                string[] arryFilterHostName = filterHostName.Split(',');
                foreach (string s in arryFilterHostName)
                {
                    filterHostNameIntercept = s.Substring(0, s.IndexOf("("));
                    filterHostNameValue = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1);
                    if (!String.IsNullOrEmpty(filterHostNameIntercept) && !String.IsNullOrEmpty(filterHostNameValue))
                    {
                        //query.AddQueryOption(filterHostNameIntercept, filterHostNameValue);
                        switch (filterHostNameIntercept)
                        {
                            case "startsWith":
                                filterCondition = filterCondition + "HostName like '" + filterHostNameValue + "%' " + filterLogic + " ";
                                break;

                            case "endsWith":
                                filterCondition = filterCondition + "HostName like '%" + filterHostNameValue + "' " + filterLogic + " ";
                                break;

                            case "contains":
                                filterCondition = filterCondition + "HostName like '%" + filterHostNameValue + "%' " + filterLogic + " ";
                                break;

                            case "doesNotContain":
                                filterCondition = filterCondition + "HostName not like '%" + filterHostNameValue + "%' " + filterLogic + " ";
                                break;

                            case "equals":
                                filterCondition = filterCondition + "HostName='" + filterHostNameValue + "' " + filterLogic + " ";
                                break;

                            case "doesNotEqual":
                                filterCondition = filterCondition + "HostName!='" + filterHostNameValue + "' " + filterLogic + " ";
                                break;
                        }
                    }
                }
            }



            if (!String.IsNullOrEmpty(filterMetricName))
            {
                string[] arryfilterMetricName = filterMetricName.Split(',');
                foreach (string s in arryfilterMetricName)
                {
                    filterMetricNameIntercept = s.Substring(0, s.IndexOf("("));
                    filterMetricNameValue = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1);
                    if (!String.IsNullOrEmpty(filterMetricNameIntercept) && !String.IsNullOrEmpty(filterMetricNameValue))
                    {
                        //query.AddQueryOption(filterMetricNameIntercept, filterMetricNameValue);
                        switch (filterMetricNameIntercept)
                        {
                            case "startsWith":
                                filterCondition = filterCondition + "MetricName like '" + filterMetricNameValue + "%' " + filterLogic + " ";
                                break;

                            case "endsWith":
                                filterCondition = filterCondition + "MetricName like '%" + filterMetricNameValue + "' " + filterLogic + " ";
                                break;

                            case "contains":
                                filterCondition = filterCondition + "MetricName like '%" + filterMetricNameValue + "%' " + filterLogic + " ";
                                break;

                            case "doesNotContain":
                                filterCondition = filterCondition + "MetricName not like '%" + filterMetricNameValue + "%' " + filterLogic + " ";
                                break;

                            case "equals":
                                filterCondition = filterCondition + "MetricName='" + filterMetricNameValue + "' " + filterLogic + " ";
                                break;

                            case "doesNotEqual":
                                filterCondition = filterCondition + "MetricName!='" + filterMetricNameValue + "' " + filterLogic + " ";
                                break;
                        }
                    }
                }

            }


            var context = new DSPContext(new Uri("http://localhost:4561/EmiteDataService.svc/"));

            if (filterLogic == "AND")
            {
                filterCondition = filterCondition.Substring(0, filterCondition.Length - 5);
            }
            else if (filterLogic == "OR")
            {
                filterCondition = filterCondition.Substring(0, filterCondition.Length - 4);
            }

            if (filterCondition.Count() < 7)
            {
                filterCondition = "";
            }

            if (!String.IsNullOrEmpty(sortMetricId) || !String.IsNullOrEmpty(sortHostName) || !String.IsNullOrEmpty(sortMetricName))
            {
                if (!String.IsNullOrEmpty(sortMetricId))
                {
                    filterCondition = filterCondition + " Order By m.MetricId " + sortMetricId;
                }
                if (!String.IsNullOrEmpty(sortHostName))
                {
                    filterCondition = filterCondition + " Order By HostName " + sortHostName;
                }
                if (!String.IsNullOrEmpty(sortMetricName))
                {
                    filterCondition = filterCondition + " Order By MetricName " + sortMetricName;
                }
            }

            
            filterCondition = HttpUtility.UrlEncode(filterCondition);
            //filterCondition=HttpUtility.UrlDecode(filterCondition);
            var query =
                context.CreateQuery<MetricNodes>("MetricNode")
                .AddQueryOption("page", page).AddQueryOption("pageSize", pageSize)
                .AddQueryOption("filter", filterCondition);
            if (query.Count() > 0)
            {
                return query;
            }
            else
            {
                return null;
            }
        }



        public static IQueryable<MetricNodes> GetPageNum()
        {
            var context = new DataServiceContext(new Uri("http://localhost:4561/EmiteDataService.svc/"));
            var query = context.CreateQuery<MetricNodes>("GetSumCount").AddQueryOption("entityName", "'MetricNode'");
            return query;
            //http://localhost:4561/EmiteDataService.svc/
            //http://emite-pc/1020/EmiteDataService/Service/EmiteDataService.svc
        }


        public static IQueryable<MetricNodes> GetFilterPageNum(string filterMetricId, string filterHostName, string filterMetricName, string filterLogic)
        {
            string filterMetricIdIntercept = string.Empty;
            string filterMetricIdValue = string.Empty;
            string filterHostNameIntercept = string.Empty;
            string filterHostNameValue = string.Empty;
            string filterMetricNameIntercept = string.Empty;
            string filterMetricNameValue = string.Empty;
            string filterCondition = "Where ";
            if (!String.IsNullOrEmpty(filterMetricId))
            {
                string[] arryFilterMetricId = filterMetricId.Split(',');
                foreach (string s in arryFilterMetricId)
                {
                    filterMetricIdIntercept = s.Substring(0, s.IndexOf("("));
                    filterMetricIdValue = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1);
                    if (!String.IsNullOrEmpty(filterMetricIdIntercept) && !String.IsNullOrEmpty(filterMetricIdValue))
                    {
                        //query.AddQueryOption(filterMetricIdIntercept, filterMetricIdValue);
                        switch (filterMetricIdIntercept)
                        {
                            case "startsWith":
                                filterCondition = filterCondition + "m.MetricId like '%" + filterMetricIdValue + "' " + filterLogic + " ";
                                break;

                            case "endsWith":
                                filterCondition = filterCondition + "m.MetricId like '" + filterMetricIdValue + "%' " + filterLogic + " ";
                                break;

                            case "contains":
                                filterCondition = filterCondition + "m.MetricId like '%" + filterMetricIdValue + "%' " + filterLogic + " ";
                                break;

                            case "doesNotContain":
                                filterCondition = filterCondition + "m.MetricId not like '%" + filterMetricIdValue + "%' " + filterLogic + " ";
                                break;

                            case "equals":
                                filterCondition = filterCondition + "m.MetricId='" + filterMetricIdValue + "' " + filterLogic + " ";
                                break;

                            case "doesNotEqual":
                                filterCondition = filterCondition + "m.MetricId!='" + filterMetricIdValue + "' " + filterLogic + " ";
                                break;
                        }
                    }
                }
            }


            if (!String.IsNullOrEmpty(filterHostName))
            {
                string[] arryFilterHostName = filterHostName.Split(',');
                foreach (string s in arryFilterHostName)
                {
                    filterHostNameIntercept = s.Substring(0, s.IndexOf("("));
                    filterHostNameValue = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1);
                    if (!String.IsNullOrEmpty(filterHostNameIntercept) && !String.IsNullOrEmpty(filterHostNameValue))
                    {
                        //query.AddQueryOption(filterHostNameIntercept, filterHostNameValue);
                        switch (filterHostNameIntercept)
                        {
                            case "startsWith":
                                filterCondition = filterCondition + "HostName like '" + filterHostNameValue + "%' " + filterLogic + " ";
                                break;

                            case "endsWith":
                                filterCondition = filterCondition + "HostName like '%" + filterHostNameValue + "' " + filterLogic + " ";
                                break;

                            case "contains":
                                filterCondition = filterCondition + "HostName like '%" + filterHostNameValue + "%' " + filterLogic + " ";
                                break;

                            case "doesNotContain":
                                filterCondition = filterCondition + "HostName not like '%" + filterHostNameValue + "%' " + filterLogic + " ";
                                break;

                            case "equals":
                                filterCondition = filterCondition + "HostName='" + filterHostNameValue + "' " + filterLogic + " ";
                                break;

                            case "doesNotEqual":
                                filterCondition = filterCondition + "HostName!='" + filterHostNameValue + "' " + filterLogic + " ";
                                break;
                        }
                    }
                }
            }



            if (!String.IsNullOrEmpty(filterMetricName))
            {
                string[] arryfilterMetricName = filterMetricName.Split(',');
                foreach (string s in arryfilterMetricName)
                {
                    filterMetricNameIntercept = s.Substring(0, s.IndexOf("("));
                    filterMetricNameValue = s.Substring(s.IndexOf("(") + 1, s.IndexOf(")") - s.IndexOf("(") - 1);
                    if (!String.IsNullOrEmpty(filterMetricNameIntercept) && !String.IsNullOrEmpty(filterMetricNameValue))
                    {
                        //query.AddQueryOption(filterMetricNameIntercept, filterMetricNameValue);
                        switch (filterMetricNameIntercept)
                        {
                            case "startsWith":
                                filterCondition = filterCondition + "MetricName like '" + filterMetricNameValue + "%' " + filterLogic + " ";
                                break;

                            case "endsWith":
                                filterCondition = filterCondition + "MetricName like '%" + filterMetricNameValue + "' " + filterLogic + " ";
                                break;

                            case "contains":
                                filterCondition = filterCondition + "MetricName like '%" + filterMetricNameValue + "%' " + filterLogic + " ";
                                break;

                            case "doesNotContain":
                                filterCondition = filterCondition + "MetricName not like '%" + filterMetricNameValue + "%' " + filterLogic + " ";
                                break;

                            case "equals":
                                filterCondition = filterCondition + "MetricName='" + filterMetricNameValue + "' " + filterLogic + " ";
                                break;

                            case "doesNotEqual":
                                filterCondition = filterCondition + "MetricName!='" + filterMetricNameValue + "' " + filterLogic + " ";
                                break;
                        }
                    }
                }

            }


            var context = new DSPContext(new Uri("http://localhost:4561/EmiteDataService.svc/"));

            if (filterLogic == "AND")
            {
                filterCondition = filterCondition.Substring(0, filterCondition.Length - 5);
            }
            else if (filterLogic == "OR")
            {
                filterCondition = filterCondition.Substring(0, filterCondition.Length - 4);
            }

            if (filterCondition.Count() < 7)
            {
                filterCondition = "";
            }

            filterCondition = HttpUtility.UrlEncode(filterCondition);
            //filterCondition=HttpUtility.UrlDecode(filterCondition);
            
            //var query =
            //    context.CreateQuery<MetricNodes>("MetricNode")
            //    .AddQueryOption("page", page).AddQueryOption("pageSize", pageSize)
            //    .AddQueryOption("filter", filterCondition);


            var query = context.CreateQuery<MetricNodes>("GetSumCount").AddQueryOption("entityName", "'MetricNode'").AddQueryOption("filter",filterCondition);


            if (query.Count() > 0)
            {
                return query;
            }
            else
            {
                return null;
            }
        }

两个部分视图

(paging.cshtml)

@using AspnetMvc.ServiceReference1
@using Infragistics.Web.Mvc
@(Html.Infragistics().Grid<MetricNodes>()
        .ID("igGrid1")
    .Columns(column =>
    {
        column.For(x => x.MetricId).DataType("string").HeaderText("MetricId").Width("150");
        column.For(x => x.HostName).DataType("string").HeaderText("HostName").Width("200");
        column.For(x => x.MetricName).DataType("string").HeaderText("MetricName").Width("200");
        //column.For(x => x.AccountDate).DataType("date").HeaderText("Account Date");
        //column.For(x => x.AccountType).DataType("string").HeaderText("Account Type");
        //column.For(x => x.AccountBalance).DataType("number").HeaderText("Account Balance");
    })
    .Features(features =>
                  {
                   
        features.Filtering().Mode(FilterMode.Advanced).Type(OpType.Remote);
                      //features.Paging().PageSize(10).;
                      

        features.Sorting().Mode(SortingMode.Single).Type(OpType.Remote).ColumnSettings(settings =>
        {
            //settings.ColumnSetting().ColumnKey("Account Number").AllowSorting(true);

        });
        features.Selection().MouseDragSelect(true).MultipleSelection(true).Mode(SelectionMode.Row);
    })
    .ClientDataSourceType(ClientDataSourceType.JSON)
    .Width("550")
    .Height("400")
        .LocalSchemaTransform(true)
            //.DataSource(ViewData["metrics"])
                .DataSourceUrl("/Home/GetMeteicNodes?pageIndex=" + ViewData["pageIndex"])
        .DataBind().Render()
)

(ChangePagingBar.cs)

<script type="text/javascript">
    $(document).ready(function() {
        $("#demo1").paginate({
                count: @ViewData["pageNum"],
                start: 1,
                display: 16,
                border: true,
                border_color: '#fff',
                text_color: '#fff',
                background_color: 'black',
                border_hover_color: '#ccc',
                text_hover_color: '#000',
                background_hover_color: '#fff',
                images: false,
                mouse: 'press',
                onChange: function(page) {
                    $.ajax({
                            url: "/Home/Paging",
                            cache: false,
                            type: 'POST',
                            dataType: 'html',
                            data: ({ page: page }),
                            success: function(data, textStatus, jqXHR) {

                                $("#bbb").html(data);
                            },
                            error: function(jqXHR, textStatus, errorThrown) {
                                alert($("#iggrid").val());
                            }
                        });
                }
            });
    });
</script>

<div id="demo1"></div>


数据源使用odata传输协议

e.g

            //http://localhost:4561/EmiteDataService.svc/
            //http://emite-pc/1020/EmiteDataService/Service/EmiteDataService.svc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值