BootStrap_table.js 学习
@{
Layout = null;
ViewBag.Title = "基于BootstrapTable的简单应用";
}
<!--添加相关样式引用-->
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/bootstrap-table.min.css" rel="stylesheet" />
<div class="container body-content" style="padding-top:20px;">
<div class="panel panel-default">
<div class="panel-heading">查询条件</div>
<div class="panel-body">
<form class="form-inline">
<div class="row">
<div class="col-sm-4">
<label class="control-label">图书名称:</label>
<input id="txtTitle" type="text" class="form-control">
</div>
<div class="col-sm-4">
<label class="control-label">图书作者:</label>
<input id="txtAuthor" type="text" class="form-control">
</div>
<div class="col-sm-4">
<label class="control-label">出版社:</label>
<input id="txtPublish" type="text" class="form-control">
</div>
</div>
<div class="row text-right" style="margin-top:20px;">
<div class="col-sm-12">
<input class="btn btn-primary" type="button" value="查询" onclick="SearchData()">
<input class="btn btn-default" type="button" value="批量删除" onclick="BtchDeleteBook()">
</div>
</div>
</form>
</div>
</div>
<table id="table"></table>
</div>
<!--添加相关脚本引用-->
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/Scripts/bootstrap-table.min.js"></script>
<script src="~/Scripts/bootstrap-table-zh-CN.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#table').bootstrapTable({
url: '@Url.Action("SearchBookInfo", "Home")',
queryParamsType: '', //默认值为 'limit' ,在默认情况下 传给服务端的参数为:offset,limit,sort
queryParams: queryParams,
method: "post",
pagination: true,
pageNumber: 1,
pageSize: 2,
pageList: [10, 20, 50, 100],
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
striped: true, //是否显示行间隔色
cache: false,
uniqueId: "BookId", //每一行的唯一标识,一般为主键列
height:300,
paginationPreText: "上一页",
paginationNextText: "下一页",
columns: [
{ checkbox: true },
{ title: '序号', width: 50, align: "center", formatter: function (value, row, index) { return index + 1; } },
{ title: '图书名称', field: 'Title' },
{ title: '图书作者', field: 'Author' },
{ title: '销售价格', field: 'Price' },
{ title: '出版社', field: 'Publish' },
{
title: '出版时间', field: 'PublishDate', formatter: function (value, row, index) {
if (value == null)
return "";
else {
var pa = /.*\((.*)\)/;
var unixtime = value.match(pa)[1].substring(0, 10);
return getShortTime(unixtime);
}
}
},
{
title: '操作', field: 'BookId', formatter: function (value, row, index) {
var html = '<a href="javascript:EditBook('+ value + ')">编辑</a>';
html += ' <a href="javascript:DeleteBook(' + value + ')">删除</a>';
return html;
}
}
]
});
});
//查询条件
function queryParams(params) {
return {
pageSize: params.pageSize,
pageIndex: params.pageNumber,
Title: $.trim($("#txtTitle").val()),
Author: $.trim($("#txtAuthor").val()),
Publish: $.trim($("#txtPublish").val()),
};
}
//查询事件
function SearchData() {
$('#table').bootstrapTable('refresh', { pageNumber: 1 });
}
//编辑操作
function EditBook(bookId){
alert("编辑操作,图书ID:" + bookId);
}
//删除操作
function DeleteBook(bookId) {
if (confirm("确定删除图书ID:" + bookId + "吗?"))
{
alert("执行删除操作");
}
}
//批量删除
function BtchDeleteBook(){
var opts = $('#table').bootstrapTable('getSelections');
if (opts == "") {
alert("请选择要删除的数据");
}
else {
var idArray = [];
for (var i = 0; i < opts.length; i++) {
idArray.push(opts[i].BookId);
}
if (confirm("确定删除图书ID:" + idArray + "吗?")) {
alert("执行删除操作");
}
}
}
function getTime(/** timestamp=0 **/) {
var ts = arguments[0] || 0;
var t, y, m, d, h, i, s;
t = ts ? new Date(ts * 1000) : new Date();
y = t.getFullYear();
m = t.getMonth() + 1;
d = t.getDate();
h = t.getHours();
i = t.getMinutes();
s = t.getSeconds();
// 可根据需要在这里定义时间格式
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d) + ' ' + (h < 10 ? '0' + h : h) + ':' + (i < 10 ? '0' + i : i) + ':' + (s < 10 ? '0' + s : s);
}
function getShortTime(/** timestamp=0 **/) {
var ts = arguments[0] || 0;
var t, y, m, d, h, i, s;
t = ts ? new Date(ts * 1000) : new Date();
y = t.getFullYear();
m = t.getMonth() + 1;
d = t.getDate();
// 可根据需要在这里定义时间格式
return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
}
</script>
/// <summary>
/// 查询图书信息
/// </summary>
/// <param name="param"></param>
/// <returns></returns>
public JsonResult SearchBookInfo(BookInfo param, int pageSize, int pageIndex)
{
//获取图书列表
List<BookInfo> bookList = GetBookList();
//根据条件筛选数据
if (!String.IsNullOrEmpty(param.Title))
{
bookList = bookList.Where(a => a.Title.Contains(param.Title)).ToList();
}
if (!String.IsNullOrEmpty(param.Author))
{
bookList = bookList.Where(a => a.Author.Contains(param.Author)).ToList();
}
if (!String.IsNullOrEmpty(param.Publish))
{
bookList = bookList.Where(a => a.Publish.Contains(param.Publish)).ToList();
}
//BootstrapTable的返回结果
BootstrapTableResult<BookInfo> result = new BootstrapTableResult<BookInfo>();
result.total = bookList.Count;
result.rows = bookList;
return Json(result);
}
/// <summary>
/// 获取图书列表
/// </summary>
/// <returns></returns>
public List<BookInfo> GetBookList()
{
List<BookInfo> bookList = new List<BookInfo>();
BookInfo book1 = new BookInfo()
{
BookId = 8,
Title = "ASP.NET MVC 5高级编程",
Author = "加洛韦",
Publish = "清华大学出版社",
PublishDate = new DateTime(2017, 08, 15),
Price = 29.99
};
bookList.Add(book1);
BookInfo book2 = new BookInfo()
{
BookId = 9,
Title = "Java从入门到精通",
Author = "明日科技",
Publish = "清华大学出版社",
PublishDate = new DateTime(2015, 09, 28),
Price = 38.55
};
bookList.Add(book2);
BookInfo book3 = new BookInfo()
{
BookId = 10,
Title = "Oracle从入门到精通",
Author = "秦靖",
Publish = "机械工业出版社",
PublishDate = new DateTime(2014, 10, 08),
Price = 38.55
};
bookList.Add(book3);
return bookList;
}
/// <summary>
/// 图书信息实体类
/// </summary>
public class BookInfo
{
public int BookId { set; get; } //图书ID
public string Title { set; get; } //图书名称
public string Author { set; get; } //图书作者
public string Publish { set; get; } //出版社
public DateTime PublishDate { set; get; } //出版时间
public Double Price { set; get; } //销售价格
}
/// <summary>
/// BootstrapTable返回结果类
/// </summary>
public class BootstrapTableResult<T>
{
public int total { get; set; } //总记录数
public List<T> rows { get; set; } //数据列表
}
BootStrap_table.js 学习的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- js学习之变量、作用域和内存问题
js学习之变量.作用域和内存问题 标签(空格分隔): javascript 变量 1.基本类型和引用类型: 基本类型值:Undefined, Null, Boolean, Number, String ...
- 【Knockout.js 学习体验之旅】(3)模板绑定
本文是[Knockout.js 学习体验之旅]系列文章的第3篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(2)花式捆绑
本文是[Knockout.js 学习体验之旅]系列文章的第2篇,所有demo均基于目前knockout.js的最新版本(3.4.0).小茄才识有限,文中若有不当之处,还望大家指出. 目录: [Knoc ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- js学习篇1--数组
javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
随机推荐
- c#DataGridView复制粘贴删除功能
//可在dgv中复制.剪切.粘贴.删除数据 /// <summary> /// DataGridView复制 /// </summary> /// <param name ...
- null, undefined理解
概述 null与undefined都可以表示"没有",含义非常相似.将一个变量赋值为undefined或null,语法效果几乎没区别. var a = undefined; // ...
- Surfaces
For Developers > Design Documents > Chromium Graphics // Chrome GPU > Surfaces Goals ...
- bzoj1922 [SDOI2010]大陆争霸 分层图
问题描述 幻想历8012年5月12日深夜,斯普林·布拉泽降下神谕:“Trust me, earn eternal life.”克里斯军团士气大增.作为克里斯军团的主帅,你决定利用这一机会发动奇袭,一举 ...
- Linux 文件系统权限
文件权限管理 文件系统上的权限是指文件和目录的权限,权限主要针对三类对象(访问者)定义 owner group other 属主 属组 其它 每个文件对每类访问者都定义了三种 ...
- CF245H Queries for Number of Palindromes(回文树)
题意翻译 题目描述 给你一个字符串s由小写字母组成,有q组询问,每组询问给你两个数,l和r,问在字符串区间l到r的字串中,包含多少回文串. 输入格式 第1行,给出s,s的长度小于5000 第2行给出q ...
- POJ 1035-Spell checker(字符串)
题目地址:POJ 1035 题意:输入一部字典.输入若干单词. 若某个单词能在字典中找到,则输出corret.若某个单词能通过 变换 或 删除 或 加入一个字符后.在字典中找得到.则输出这些单词.输出 ...
- KNN分类器
KNN学习(K-Nearest Neighbor algorithm,K最邻近方法 )是一种统计分类器,对数据的特征变量的筛选尤其有效. 基本原理 KNN的基本思想是:输入没有标签(标注数据的类别), ...
- C语言之基本算法26—佩尔方程求解
//穷举法! /* ====================================================== 题目:求佩尔方程x*x-73*y*y=1的解. =========== ...
- 7-07. PAT排名汇总(25) (结构体 ZJU_PAT)
题目链接:http://www.patest.cn/contests/ds/7-07 编程能力測试(Programming Ability Test,简称PAT)是浙江大学计算机科学与技术学院主办的专 ...