asp.net mvc 中利用jquery datatables 實現資料分頁顯示
1、Controller中的方法程式碼如下:
由於方法中的儲存過程沒有帶分頁引數,所以還可以有繼續優化的空間。
/// <summary>
/// 獲取測點列表
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult GetMeasurePointList(string TreeID, string TreeType, int sEcho, int iDisplayStart, int iDisplayLength)
{
DataTable dtResult = new DataTable();
string sql = string.Format("EXEC P_GET_ZXJG_TagList '{0}','{1}'", TreeID, TreeType);
dtResult = QuerySQL.GetDataTable(sql);
dtResult.Columns.Add("XuHao", typeof(string));
dtResult.Columns.Add("StrValueTime", typeof(string));
for (int i = 0; i < dtResult.Rows.Count; i++)
{
dtResult.Rows[i]["XuHao"] = (i + 1).ToString();
dtResult.Rows[i]["StrValueTime"] = Convert.ToDateTime(dtResult.Rows[i]["F_ValueTime"]).ToString("yyyy-MM-dd HH:mm:ss");
}
int iTotalRecords = 0;
int iTotalDisplayRecords = 0;
List<DataRow> queryList = dtResult.AsEnumerable().ToList();
iTotalRecords = queryList.Count();
queryList = queryList.Skip(iDisplayStart).Take(iDisplayLength).ToList();
iTotalDisplayRecords = queryList.Count();
var temp = from p in queryList
select new
{
XuHao = p.Field<string>("XuHao").ToString(),
F_Description = p.Field<string>("F_Description").ToString(),
StrValueTime = p.Field<string>("StrValueTime").ToString(),
F_Value = p.Field<decimal>("F_Value").ToString(),
F_Unit = p.Field<string>("F_Unit").ToString(),
F_AlmLow = p.Field<decimal>("F_AlmLow").ToString(),
F_AlmUp = p.Field<decimal>("F_AlmUp").ToString()
};
return Json(new
{
draw = sEcho,
recordsFiltered = iTotalRecords,
recordsTotal = iTotalDisplayRecords,
data = temp.ToList()
}, JsonRequestBehavior.AllowGet);
}
function InitData() {
var dataTable = $('#tbMeasurePointList').DataTable({
"scrollY": "hidden",
"scrollCollapse": false,
"dom": 'tr<"bottom"lip><"clear">',
language: {
lengthMenu: '',//左上角的分頁大小顯示。
search: '<span class="label label-success">搜尋:</span>',//右上角的搜尋文字,可以寫html標籤
loadingRecords: '資料載入中...',
paginate: {
//分頁的樣式內容。
previous: "上一頁",
next: "下一頁",
first: "",
last: ""
},
zeroRecords: "暫無資料",//table tbody內容為空時,tbody的內容。
//下面三者構成了總體的左下角的內容。
info: "<span class='pagesStyle'>總共<span class='recordsStyle'> _TOTAL_ 條,計 _PAGES_ </span>頁,當前顯示 _START_ -- _END_ 條記錄 </span>",//左下角的資訊顯示,大寫的詞為關鍵字。初始_MAX_ 條
infoEmpty: "0條記錄",//篩選為空時左下角的顯示。
infoFiltered: ""//篩選之後的左下角篩選提示,
},
"lengthChange": false,
"ordering": false,
"iDisplayLength": 10,
"searching": false,
destroy: true, //Cannot reinitialise DataTable,解決重新載入表格內容問題
"serverSide": true,
"sAjaxSource": "@Url.Action("GetMeasurePointList", "OnlineMonitor")",
"fnServerData": function (sSource, aoData, fnCallback) {
aoData.push({ "name": "TreeID", "value": $("#hidTreeID").val() });
aoData.push({ "name": "TreeType", "value": $("#hidTreeType").val() });
$.ajax({
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
},
"aoColumns": [
{ "mDataProp": "XuHao", "width": "50" },
{ "mDataProp": "F_Description", "width": "400" },
{ "mDataProp": "StrValueTime", "width": "200" },
{ "mDataProp": "F_Value", "width": "100" },
{ "mDataProp": "F_Unit", "width": "100" },
{ "mDataProp": "F_AlmLow", "width": "100" },
{ "mDataProp": "F_AlmUp", "width": "100"}
],
"createdRow": function (row, data, index) {
$(row).children('td').eq(0).attr('style', 'text-align: center;');
$(row).children('td').eq(1).attr('style', 'text-align: left;');
$(row).children('td').eq(2).attr('style', 'text-align: center;');
$(row).children('td').eq(3).attr('style', 'text-align: right;');
$(row).children('td').eq(4).attr('style', 'text-align: center;');
$(row).children('td').eq(5).attr('style', 'text-align: right;');
$(row).children('td').eq(6).attr('style', 'text-align: right;');
}
});
}
3、實際顯示效果如下圖所示:
相關文章
- MVC5和Jquery Datatables1.10MVCjQuery
- asp.net core mvc 分頁ASP.NETMVC
- JQuery對ASP.NET MVC資料進行操作jQueryASP.NETMVC
- 使用 jQuery 實現分頁功能jQuery
- jQuery入門(六)jQuery實現瀑布分頁jQuery
- jQuery入門(七)jQuery實現按鈕分頁jQuery
- 關於黑馬旅遊網的實現 --- 分頁查詢功能,點選分頁碼不顯示資料
- jQuery 實現顯示與隱藏效果jQuery
- datatables服務端分頁服務端
- php分頁顯示PHP
- 如何分頁顯示資料庫查詢結果?資料庫
- Jquery Datatables (2) 動態載入資料型別jQuery資料型別
- ASP.NET MVC下使用AngularJs語言(八):顯示htmlASP.NETMVCAngularJSHTML
- SAP UI5 列表控制元件分頁顯示資料時,如何自定義分頁大小UI控制元件
- JQuery datatables 給表格新增載入中效果jQuery
- python實現資料分頁小練習Python
- asp.net mvc 錯誤頁面ASP.NETMVC
- IE8中jQuery.load()載入頁面不顯示的原因jQuery
- 如何讓Spring MVC顯示自定義的404 Not Found頁面SpringMVC
- [提問交流]oneThink預設前臺分頁,每頁的資料條數顯示修改
- ASP.NET Core 5.0 MVC中的 Razor 頁面 介紹ASP.NETMVC
- 使用 jQuery 選擇器獲取頁面元素,然後利用 jQuery 物件的 css() 方法設定其 display 樣式屬性,從而實現顯示和隱藏效果。jQuery物件CSS
- 利用jQuery實現Tab選項卡jQuery
- asp.net mvc檢視傳遞資料至另一頁的檢視ASP.NETMVC
- Laravel 固定每頁顯示條數和顯示頁數(超過部分直接返回空資料)Laravel
- C# 利用Datagridview、BindingNavigator、BindingSource自動顯示資料C#View
- 【JS】javascript實現頁面顯示數字時鐘JSJavaScript
- 基於DataTables實現根據每個使用者動態顯示隱藏列,可排序排序
- vue+vuex+json-seiver實現資料展示+分頁VueJSON
- ASP.NET MVC – SQL 資料庫簡介ASP.NETMVCSQL資料庫
- Swift 空資料介面顯示模組封裝實現Swift封裝
- Asp.Net 5分鐘實現網頁實時監控程式碼ASP.NET網頁
- Element 利用Tooltip提示框實現動態顯示文字提示
- java實現將資料庫資料轉化成excel表格顯示出來Java資料庫Excel
- springboot中擴充套件ModelAndView實現asp.net core mvc的ActionResult效果Spring Boot套件ViewASP.NETMVC
- 利用jQuery實現表單驗證功能jQuery
- Django實現圖片上傳並前端頁面顯示Django前端
- WPF/C#:如何將資料分組顯示C#
- 簡單使用Knockout.js和Datatables.js 分頁JS