.Net MVC+bootstrap Table学习

一、效果展示

二、使用方法

1)、相关css和js的引用

<link href="~/Themes/Bootstrap/css/bootstrap.css" rel="stylesheet" />
    <link href="~/Themes/Bootstrap/css/bootstrap-table.css" rel="stylesheet" />
    <!---------------------------js引用------------------------------------------->
    <script src="~/Themes/Bootstrap/js/jquery.min.js"></script>
    <script src="~/Themes/Bootstrap/js/bootstrap.js"></script>
    <script src="~/Themes/Bootstrap/js/bootstrap-table.js"></script>
    <script src="~/Themes/Bootstrap/js/bootstrap-table-zh-CN.js"></script>
    <script src="~/Themes/layer/layer.js"></script>

2)、页面html

        <button type="button" id="btnAdd" class="btn btn-primary">添加新纪录</button>
        <div class="pull-right search" style="width:260px;">
            <input class="form-control" type="text" id="txtName" placeholder="请输入姓名" style="float:left;width:150px;">
            <button type="button" id="btnSearch" class="btn btn-primary">查询</button>
        </div>
        <table id="myTable"></table>

3)、初始化表格js和相应的增、删、改、查js事件

        <script type="text/javascript">
            var $table = $("#myTable");
            var TableInit = function () {
                var oTable = new Object();
                oTable.QueryUrl = ‘@Url.Content("~/Home/GetList")‘ + ‘?rnd=‘ + +Math.random();
                oTable.Init = function () {
                    $table.bootstrapTable({
                        method: ‘post‘,//数据请求方式
                        url: oTable.QueryUrl,//请求数据的地址
                        height: $(window).height() - 100,
                        striped: true,
                        pagination: true,
                        pageNumber: 1,
                        pageSize: 10,
                        pageList: [5, 10, 15],
                        uniqueId: "ID",
                        sidePagination: "server", //服务端请求
                        queryParams: oTable.queryParams,
                        queryParamsType: "",
                        columns: [{
                            field: ‘ID‘,
                            title: ‘ID‘,
                            width: 100,
                            align: ‘center‘,
                            valign: ‘middle‘,
                            sortable: true,
                            formatter: idFormatter
                        }, {
                            field: ‘Name‘,
                            title: ‘姓名‘,
                            width: 100,
                            align: ‘center‘,
                            valign: ‘middle‘,
                            formatter: nameFormatter
                        }, {
                            field: ‘operate‘,
                            title: ‘操作‘,
                            width: 100,
                            align: ‘center‘,
                            valign: ‘middle‘,
                            formatter: operateFormatter,
                            events: operateEvents
                        }],
                        onLoadSuccess: function () {
                        },
                        onLoadError: function () {
                        }
                    });
                }
                oTable.queryParams = function (params) {
                    var temp = {
                        pageSize: params.pageSize,
                        pageIndex: params.pageNumber,
                        name: $("#txtName").val(),
                        sortOrder: params.sortOrder
                    };
                    return temp;
                }
                function idFormatter(value, row, index) {
                    return row.ID;
                }
                function nameFormatter(value, row, index) {
                    return row.Name;
                }
                function operateFormatter(value, row, index) {
                    return ‘<a class="edit" style="cursor:pointer;" title="修改">修改</a> ‘ + ‘<a class="delete" style="cursor:pointer;" title="删除">删除</a>‘;
                }
                window.operateEvents = {
                    ‘click .edit‘: function (e, value, row, index) {
                        //修改操作,将姓名字段改为“小宝,英文名:aspen”
                        $.ajax({
                            url: ‘@Url.Content("~/Home/UpdateRow")‘,
                            data: { id: row.ID },
                            success: function (result) {
                                if (result.state) {
                                    layer.msg(‘修改成功‘, { tiem: 500, icon: 1 });
                                    $table.bootstrapTable(‘refresh‘);
                                }
                            }
                        });
                        $table.bootstrapTable(‘refresh‘);
                    },
                    ‘click .delete‘: function (e, value, row, index) {
                        //删除操作
                        layer.confirm(‘您确定要删除该记录吗?‘, {
                            btn: [‘确定‘, ‘取消‘] //按钮
                        }, function () {
                            $.ajax({
                                url: ‘@Url.Content("~/Home/DeleteRow")‘,
                                data: { id: row.ID },
                                success: function (result) {
                                    if (result.state) {
                                        layer.msg(‘删除成功‘, { tiem: 500, icon: 1 });
                                        $table.bootstrapTable(‘refresh‘);
                                    }
                                }
                            });

                        }, function () {

                        });
                    }
                }
                return oTable;
            }

            //初始化表格
            $(function () {
                var myTable = new TableInit();
                myTable.Init();
            });
            //查询
            $("#btnSearch").click(function () {
                $table.bootstrapTable(‘destroy‘);
                var myTable = new TableInit();
                myTable.Init();
            });
            //添加
            $("#btnAdd").click(function () {
                $.ajax({
                    url: ‘@Url.Content("~/Home/AddRow")‘,
                    success: function (result) {
                        if (result.state) {
                            layer.msg(‘添加成功‘, { tiem: 500, icon: 1 });
                            $table.bootstrapTable(‘refresh‘);
                        }
                    }
                });
            });
        </script>

4)、控制器方法

     public class HomeController : Controller
    {
        static List<Person> personList = new List<Person>();
        static HomeController()
        {
            for (int i = 1; i <= 100; i++)
            {
                Person person = new Person();
                person.ID = i;
                person.Name = "小宝" + i.ToString();
                personList.Add(person);
            }
        }
        public ActionResult List()
        {
            return View();
        }
        public ActionResult GetList(string name,string sortOrder="desc",int pageIndex = 1, int pageSize = 10)
        {
            var tempPersonList = personList;
            if (sortOrder == "desc")
            {
                tempPersonList = tempPersonList.OrderByDescending(p => p.ID).ToList();
            }
            else
            {
                tempPersonList = tempPersonList.OrderBy(p => p.ID).ToList();
            }
            if (!string.IsNullOrWhiteSpace(name))
            {
                tempPersonList = tempPersonList.Where(p => p.Name.Contains(name)).ToList();
            }
            var currentPersonList = tempPersonList
                                              .Skip((pageIndex - 1) * pageSize)
                                              .Take(pageSize);

            var total = tempPersonList.Count();
            var rows = currentPersonList.Select(p => new { ID=p.ID,Name=p.Name});
            return Json(new { total=total,rows=rows, state = true, msg = "加载成功" }, JsonRequestBehavior.AllowGet);
        }
        public ActionResult UpdateRow(int id)
        {
            Person person = personList.Find(p => p.ID == id);
            person.Name = person.Name + ",英文名:aspen";
            int index= personList.FindIndex(p => p.ID == id);
            personList.Remove(person);
            personList.Insert(index, person);
            return Json(new { state = true, msg = "修改成功" }, JsonRequestBehavior.AllowGet);
        }
        public ActionResult DeleteRow(int id)
        {
            Person person = personList.Find(p => p.ID == id);
            personList.Remove(person);
            return Json(new { state = true, msg = "删除成功" }, JsonRequestBehavior.AllowGet);
        }
        public ActionResult AddRow()
        {
           int maxIndex= personList.Max(p => p.ID);
           Person person = new Person();
           person.ID = maxIndex + 1;
           person.Name = "小宝" + person.ID.ToString();
           personList.Add(person);
            return Json(new { state = true, msg = "添加成功" }, JsonRequestBehavior.AllowGet);
        }
    }
    class Person
    {
        public int ID { get; set; }
        public string Name { get; set; }
    }

项目源码下载:

http://files.cnblogs.com/files/weishuanbao/BootstrapTable.rar

参考资料:

1.Bootstrap Table API:

http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

2.网友分享:

http://www.imooc.com/article/8917

时间: 2024-10-22 05:23:16

.Net MVC+bootstrap Table学习的相关文章

Bootstrap Table学习笔记

资料: 官网   2017.7.10 入门实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-

bootstrap table 学习记录

效果: html代码: <!-- 工具容器 --> <div id="toolbar" class="btn-group"> <button id="btn_add" type="button" class="btn btn-default"> <span class="glyphicon glyphicon-plus" aria-hidden=

SpringMVC学习系列(12) 完结篇 之 基于Hibernate+Spring+Spring MVC+Bootstrap的管理系统实现

到这里已经写到第12篇了,前11篇基本上把Spring MVC主要的内容都讲了,现在就直接上一个项目吧,希望能对有需要的朋友有一些帮助. 一.首先看一下项目结构: InfrastructureProjects:是抽取出的基础项目,主要封装了一些通用的操作. SpringMVC3Demo:就是管理系统所在的项目. WeiXinAPI:是之前做微信管理平台测试时封装一些操作,如果不需要把该项目移除即可. 注:项目的前端UI框架用的是国外的一个基于Bootstrap框架的开发的Demo,如不需要替换为

在ASP.NET MVC中使用 Bootstrap table插件

Bootstrap table: http://bootstrap-table.wenzhixin.net.cn/zh-cn/getting-started/ 1. 控制器代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace AspDotNetMVCBootstrapTable.Controllers { pu

JS表格组件神器bootstrap table详解(基础版)

这篇文章主要介绍了JS表格组件神器bootstrap table,bootstrap table界面采用扁平化的风格,用户体验比较好,更好兼容各种客户端,需要了解更多bootstrap table的朋友可以参考下 一.Bootstrap Table的引入 关于Bootstrap Table的引入,一般来说还是两种方法: 1.直接下载源码,添加到项目里面来.由于Bootstrap Table是Bootstrap的一个组件,所以它是依赖Bootstrap的,我们首先需要添加Bootstrap的引用.

Bootstrap快速学习笔记(1)排版系列之二

欢迎收看大奥编写的Bootstrap快速学习笔记(1)排版系列之二 本学习笔记根据[慕课网]教程修改而来,用它学习Bootstrap,将会带来全新的体验哦: 表格 表格行的类 详细介绍 表格表格是Bootstrap的基础组件之一,有一个基础样式和四个附加样式以及一个响应式样式,全部通过class类来实 现,.table:基础表格,这是无论哪种类型的表格都必不可少的类:.table-striped:斑马线表格,更具可读性:.table- bordered:带边框的表格:.table-hover:鼠

bootstrap table 实现固定悬浮table 表头并可以水平滚动

在开发项目中,需要将表格头部固定,而且表格大多数情况下是会水平滚动的.项目的css框架是bootstrap 3,故也可以叫做bootstrap table. 需要实现的是:表格头部固定,并且支持水平滚动 html code(source table): <table id="top_fix_table" border="0" cellpadding="4" cellspacing="0" class="tabl

Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是翔通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基本不用了.还有最主要的原因就是锻炼下自己的能力.好了其他就不多说了,下面来看下我对这个项目的整体概述吧: 目录: 目录我以后会在这边添加上去的 一.Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理 基本设计 项目中使用到的工具: Visual Studio 2013,

在Chrome运行Bootstrap Table测试程序报错

在学习Flask的过程中,一直在寻找一个合适的前端框架,用了一段时间的EasyUI,觉得美观还有使用习惯不是很符合个人风格,就有意转向Bootstrap. 因为以开发管理系统为主,表格控件是影响我选择前端框非常重要的因素.Bootstrap自带的表格控件功能不是很丰富,在网上搜了一下,找到一个叫Bootstrap Table 的控件,基于MIT协议的开源控件. 下载建立相关目录,就按照官方例子写了一个简单的测试程序,代码如下: <!DOCTYPE html> <html>   &l