加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 4 Datagrid

发布时间:2020-12-15 23:51:31 所属栏目:asp.Net 来源:网络整理
导读:Im新到ASP.NET MVC,并希望做一个简单的页面,使用Entity检索一些数据并将其显示在分页数据网格中. 任何人都可以指出正确的方向或教程等. 它只是一个概念证明,用于检索东西和显示列表. 解决方法 为此,您可以使用ASP.NET MVC jqGrid. 下面我已经提到了如何实现
Im新到ASP.NET MVC,并希望做一个简单的页面,使用Entity检索一些数据并将其显示在分页数据网格中.

任何人都可以指出正确的方向或教程等.

它只是一个概念证明,用于检索东西和显示列表.

解决方法

为此,您可以使用ASP.NET MVC jqGrid.

下面我已经提到了如何实现的示例代码.

样品图像

行动方法

public ActionResult JsonSalesCollection(DateTime startDate,DateTime endDate,string sidx,string sord,int page,int rows)

 {
     SalesLogic logicLayer = new SalesLogic();
     List<Sale> context;

     // If we aren't filtering by date,return this month's contributions
     if (startDate == DateTime.MinValue || endDate == DateTime.MinValue)
      {
         context = logicLayer.GetSales();
      }
     else // Filter by specified date range
      {
          context = logicLayer.GetSalesByDateRange(startDate,endDate);
      }

     // Calculate page index,total pages,etc. for jqGrid to us for paging
     int pageIndex = Convert.ToInt32(page) - 1;
     int pageSize = rows;
     int totalRecords = context.Count();
     int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);

     // Order the results based on the order passed into the method
     string orderBy = string.Format("{0} {1}",sidx,sord);
     var sales = context.AsQueryable()
                  .OrderBy(orderBy) // Uses System.Linq.Dynamic library for sorting
                  .Skip(pageIndex * pageSize)
                  .Take(pageSize);

      // Format the data for the jqGrid
      var jsonData = new
       {
         total = totalPages,page = page,records = totalRecords,rows = (
                from s in sales
                select new
                {
                   i = s.Id,cell = new string[] {
                   s.Id.ToString(),s.Quantity.ToString(),s.Product,s.Customer,s.Date.ToShortDateString(),s.Amount.ToString("c")
                }
           }).ToArray()
          };

         // Return the result in json
         return Json(jsonData);
}

Jquery设置

<script type="text/javascript">
var gridDataUrl = '/Home/JsonSalesCollection';
// use date.js to calculate the values for this month
var startDate = Date.parse('today').moveToFirstDayOfMonth();
var endDate = Date.parse('today');

jQuery("#list").jqGrid({

     url: gridDataUrl + '?startDate=' + startDate.toJSONString() + '&endDate=' +        endDate.toJSONString(),datatype: "json",mtype: 'GET',colNames: ['Sale Id','Quantity','Product','Customer','Date','Amount'],colModel: [
                  { name: 'Id',index: 'Id',width: 50,align: 'left' },{ name: 'Quantity',index: 'Quantity',width: 100,{ name: 'Product',index: 'Product',{ name: 'Customer',index: 'Customer',{ name: 'Date',index: 'Date',{ name: 'Amount',index: 'Amount',align: 'right'}],rowNum: 20,rowList: [10,20,30],imgpath: gridimgpath,height: 'auto',width: '700',pager: jQuery('#pager'),sortname: 'Id',viewrecords: true,sortorder: "desc",caption: "Sales"
});

</script>

你可以从GridView in ASP.NET MVC Here获得更多的细节

要么

检查这个Get the Most out of WebGrid in ASP.NET MVC(兼容MVC 4)

我希望这将有助于你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读