zoukankan      html  css  js  c++  java
  • 如何在.NetCore MVC使用CloudTables控件实现分页

     1 <section class="content">
     2     <div class="row">
     3         <div class="col-md-12">
     4             <div class="box">
     5                 <div class="box-header">
     6                     <div class="form-group">
     7                         <label>Policy Type</label>
     8                         <div class="input-group" style="  50%;">
     9                             <select class="form-control" id="policyType" onchange="changePolicy()">
    10                                 <option value="1">Australia Fundamental Policy</option>
    11                                 <option value="2" selected="">Global Fundamental Policy</option>
    12                                 <option value="3">NPM Policy</option>
    13                             </select>
    14                         </div>
    15                     </div>
    16                     <div class="box-body">
    17                         <table id="example" class="table table-bordered table-hover">
    18                             <thead>
    19                                 <tr>
    20                                     <th>Id</th>
    21                                     <th>Policy Type</th>
    22                                     <th>Parent Category</th>
    23                                     <th>Category</th>
    24                                     <th>Content</th>
    25                                 </tr>
    26                             </thead>
    27                             <tbody>
    28                             </tbody>
    29                         </table>
    30                     </div>
    31                     <!-- /.box-body -->
    32                 </div>
    33             </div>
    34             <!-- /.col -->
    35         </div>
    36     </div>
    37     <!-- /.row -->
    38 </section>
    39 <!-- page script -->
    40 <script src="~/js/Answer/Index.js?v=@(DateTime.UtcNow.Ticks)"></script>
    Index.html
      1 ////var urlPrefix = "/EquityAnswerTool";
      2 var urlPrefix = "";
      3 
      4 $(function () {
      5     Initial();
      6 })
      7 
      8 function Initial() {
      9     var modal = document.getElementById('starModal');
     10     modal.style.display = "block";
     11     var policyType = $("#policyType").val();
     12     //$.ajax({
     13     //    type: "GET",
     14     //    url: urlPrefix + "/Answer/List?policyType=" + policyType,
     15     //    dataType: "json",
     16     //    success: function (obj) {
     17     //        $('table').DataTable().destroy();
     18     //        $("table tbody tr").remove();
     19     //        if (obj && obj.Code == 1) {
     20     //            var tr = "";
     21     //            for (var i = 0; i < obj.Data.length; i++) {
     22     //                tr += "<tr>"
     23     //                tr += "<td><a href='" + urlPrefix + "/Answer/Edit?id=" + obj.Data[i].Id + "'>" + obj.Data[i].Id + "</a></td>";
     24     //                //tr += "<td>" + (obj.Data[i].PolicyType == 1 ? "Australia Fundamental Policy" : "Global Fundamental Policy") + "</td>";
     25     //                tr += "<td>" + getPolicy(obj.Data[i].PolicyType) + "</td>";
     26     //                tr += "<td>" + obj.Data[i].ParentContent + "</td>";
     27     //                tr += "<td>" + obj.Data[i].Category + "</td>";
     28     //                tr += "<td>" + obj.Data[i].Content + "</td>";
     29     //                tr += "</tr>"
     30     //            }
     31     //            $("table tbody").append(tr);
     32     //        }
     33 
     34     //        $('table').DataTable({
     35     //            //'retrieve': true,
     36     //            "pagingType": "full_numbers",
     37     //            'paging': true,
     38     //            'lengthChange': false,
     39     //            'searching': true,
     40     //            'ordering': false,
     41     //            'info': true,
     42     //            //'autoWidth': true
     43     //        });
     44 
     45     //        $('.row')[1].children[0].remove();
     46 
     47     //        modal.style.display = "none";
     48     //    }
     49     //});
     50 
     51     //$('#example').DataTable({
     52     //    //'retrieve': true,
     53     //    //"pagingType": "full_numbers",
     54     //    //'paging': true,
     55     //    //'lengthChange': false,
     56     //    //'searching': true,
     57     //    //'ordering': false,
     58     //    //'info': true,
     59     //    "processing": true,
     60     //    "serverSide": true,
     61     //    ajax: {
     62     //        type: "POST",
     63     //        url: urlPrefix + "/Answer/List",
     64     //        //dataType: "json",
     65     //        data: function (d) {
     66     //            return JSON.stringify({ parameters: d });
     67     //        }
     68     //    }
     69     //    //'autoWidth': true
     70     //});
     71     $('table').DataTable().destroy();
     72     $("table tbody tr").remove();
     73 
     74     $('#example').dataTable({
     75         "processing": true,
     76         "serverSide": true,
     77         "filter": true,
     78         "paging": true,
     79         //"lengthMenu": [5, 10, 15, 20],
     80         "responsive": true,
     81         "order": [[0, 'asc']],
     82         "ajax": {
     83             "url": urlPrefix + "/Answer/List",
     84             "datatype": "json",
     85             "data": { policyType },
     86             "type": "POST",
     87             //"success": function (data) {
     88             //    modal.style.display = "none";
     89             //}
     90             "dataSrc": function (json) {
     91                 for (var i = 0, ien = json.data.length; i < ien; i++) {
     92                     json.data[i].Id = "<a href='" + urlPrefix + "/Answer/Edit?id=" + json.data[i].Id + "'>" + json.data[i].Id + "</a>";
     93                     json.data[i].PolicyType = getPolicy(json.data[i].PolicyType)
     94                 }
     95                 return json.data;
     96             }
     97         },
     98         "initComplete": function (settings, json) {
     99             modal.style.display = "none";
    100         },
    101         "columnsDefs": [
    102             { "target": 0 },
    103             { "target": 1 },
    104             { "target": 2 },
    105             { "target": 3 },
    106             { "target": 4 }
    107         ],
    108         "columns": [
    109             { "data": "Id" },
    110             { "data": "PolicyType" },
    111             { "data": "ParentContent" },
    112             { "data": "Category" },
    113             { "data": "Content" }
    114         ]
    115     });
    116 }
    117 
    118 function changePolicy() {
    119     Initial();
    120 }
    121 
    122 function getPolicy(policyType) {
    123     if (policyType == "1") {
    124         return "Australia Fundamental Policy";
    125     } else if (policyType == "2") {
    126         return "Global Fundamental Policy"
    127     } else if (policyType == "3") {
    128         return "NPM Policy"
    129     } else if (policyType == "4") {
    130         return "ECM"
    131     }
    132     return "";
    133 }
    Index.js
     1        [HttpPost]
     2         public JsonResult List(int policyType)
     3         {
     4             //Search parameters
     5             var searchStr = Request.Form["search[value]"].FirstOrDefault();
     6 
     7             //Sorting parameters
     8             string sortColumn, sortDirection;
     9             sortColumn = Request.Form["columns[" + Request.Form["order[0][column]"].FirstOrDefault() + "][name]"].FirstOrDefault();
    10             sortDirection = Request.Form["order[0][dir]"].FirstOrDefault();
    11 
    12             //Pagination parameters
    13             string length = Request.Form["length"].FirstOrDefault();
    14             string start = Request.Form["start"].FirstOrDefault();
    15 
    16             int pagesize = length != null ? Convert.ToInt32(length) : 0;
    17             int skipRecords = start != null ? Convert.ToInt32(start) : 0;
    18 
    19             int recordsCount;
    20 
    21             var list = _EquityFundamentalsService.GetAnswers(policyType,searchStr, sortColumn,sortDirection,pagesize,skipRecords,out recordsCount);
    22 
    23             return Json(new { data = list, recordsFiltered = recordsCount, recordsTotal = recordsCount });
    24         }
    AnswerController
     1  public IEnumerable<AnswerDto> GetAnswers(int policyType, string searchStr, string sortCol, string sortDir, int pageSize, int skipRecords, out int recordsCount)
     2         {
     3             Framework.Db.Chatbot.ChatbotContext _DbContext = new Framework.Db.Chatbot.ChatbotContext();
     4 
     5             var entityFundamentalsList = _DbContext.EquityFundamentals.Where(n => n.IsLeaf == true && n.PolicyType == policyType && n.Content.ToLower().Contains(searchStr.ToLower()));
     6 
     7             recordsCount = entityFundamentalsList.Count();
     8 
     9             switch (sortCol)
    10             {
    11                 case "Id":
    12                     entityFundamentalsList = sortDir.ToLower() == "asc" ?
    13                         entityFundamentalsList.OrderBy(n => n.Id) : entityFundamentalsList.OrderByDescending(n => n.Id);
    14                     break;
    15                 default:
    16                     break;
    17             }
    18 
    19             var result = entityFundamentalsList.Skip(skipRecords).Take(pageSize).ToList().Select(n => new AnswerDto
    20             {
    21                 Id = n.Id,
    22                 ParentContent = this.HandleUSCanadaCategory(n.Id, n.PolicyType),
    23                 Category = _DbContext.EquityFundamentals.Where(c => c.Id == n.ParentId).FirstOrDefault()?.Content,
    24                 Content = this.HandleContent(n.Content),
    25                 Level = n.Level,
    26                 PolicyType = n.PolicyType
    27             });
    28 
    29             return result;
    30 
    31         }
    EquityFundamentalsService
  • 相关阅读:
    Sample XPS Documents Download
    触发器中的inserted表和deleted表
    Using freewheel.labs.autodesk.com to auto generate preview images of DWF files on your web site
    解除SQL对组件"Ad Hoc Distributed Queries"的"STATEMENT'OpenRowset OpenDatasource"的访问
    读写xps
    XPS文件,在Windows XP下的打开查看阅读和打印方法。
    Learning to Reference Inserted and Deleted Tables
    Get value from updated, inserted and deleted
    Reinstall Microsoft Helper Viewer
    如何查找文件的IFilter
  • 原文地址:https://www.cnblogs.com/shangec/p/15376601.html
Copyright © 2011-2022 走看看