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学习笔记(一)--- ...
随机推荐
- sql笔试题-1
在oracle下sql:比较巧妙地是group by 部分 E from (select a.team,b.y from nba a,nba b ) c group by (c.y-rownum) o ...
- WLAN 基础架构功能
WLAN 基础架构功能 Android WLAN 框架可帮助用户连接到优质 WLAN 网络(在有可用 WLAN 网络且需要连接到这类网络的情况下).Android 可通过多种方式来实现这一点: 打开网 ...
- global_step
global_step=tf.Variable(0, trainable=False) 设定trainable=False 可以防止该变量被数据流图的 GraphKeys.TRAINABLE_VARI ...
- error_reporting()函数
定义和用法 error_reporting() 函数跪地你给应该报告何种 PHP 错误. error_reporting() 函数能够在运行时设置 error_reporting 指令. PHP 有诸 ...
- zabbix2.4.5安装zatree插件
一.关于zatree zatree 是来自国内58公司开发的监控软件zabbix的一个插件,主要功能是提供host group的树形展示和在item里指定关键字查询及数据排序. 项目地址:https: ...
- 用Electron开发企业网盘(一)--通信
效果展示 项目背景: 由于浏览器的限制,web批量下载体验不好以及无法下载文件夹.采用Electron技术,通过js开发PC应用程序,着力解决批量下载.断点续传.文件夹下载等问题.配合网页版网盘使用, ...
- 监控web服务(http,本地 / 远程监控nginx)
监控 httpd 服务一: #!/bin/bash #描述: 秒级别监控 http 服务 while [ 1 -lt 2 ] do sleep 10 ai=`netstat -ntl | grep & ...
- Java代码规范文档
NOTE:以下部分为一个简要的编码规范,更多规范请参考 ORACLE 官方文档. 地址:http://www.oracle.com/technetwork/java/codeconventions-1 ...
- SQL Search
Press TAB to expand wildcard tab键之后,会自动展开,直接枚举表中所有的字段 根据名字查找存储过程,发现找不到 原因是,本地是一个备份库.服务器上通过sql source ...
- OpenGL编程逐步深入(四)Shaders
OpenGl 中的 Shader在一些中文书籍或资料中都被翻译为"着色器", 单从字面意思也看不出Shader到底是什么,Shader实际上就是一段代码,用于完成特定功能的一个模块 ...