bootstrap Table插件使用demo

发布时间 - 2026-01-11 02:40:44    点击率:

最近研究bootstrap,它仅提供视觉效果,对于数据列表之类的并未涉及,网上找了一下,找到一个Table插件。

名为bootstrapTable。

官方地址:http://bootstrap-table.wenzhixin.net.cn/examples/

github:https://github.com/wenzhixin/bootstrap-table

因为英文差,研究了半天,做了一个demo,将就看

HTML: 

<table class="table" id="dataShow" > 
     <thead> 
       <tr> 
         <th data-checkbox="true">选择</th> 
         <th data-field="rkey">供应商名称</th> 
         <th data-field="rkey">供应商编码</th> 
         <th data-field="name">物料编码</th> 
         <th data-field="sex">申请类型</th> 
         <th data-field="birthdayString">试用申请编码</th> 
         <th data-field="age">试用状态</th> 
         <th data-field="age">厂别</th> 
         <th data-field="age">审批状态</th> 
         <th data-field="birthday">申请时间</th> 
         <th data-field="age">试用结果</th> 
       </tr> 
     </thead> 
  </table> 

JS:

var currPageIndex = 0; 
    var currLimit = 10; 
 
    $(function () { 
      $("#dataShow").bootstrapTable({ 
        url: "TradHandler.ashx?request=getTradList", 
        sortName: "rkey",//排序列 
        striped: true,//條紋行 
        sidePagination: "server",//服务器分页 
        //showRefresh: true,//刷新功能 
        //search: true,//搜索功能 
        clickToSelect: true,//选择行即选择checkbox 
        singleSelect: true,//仅允许单选 
        //searchOnEnterKey: true,//ENTER键搜索 
        pagination: true,//启用分页 
        escape: true,//过滤危险字符 
        queryParams: getParams,//携带参数 
        pageCount: 10,//每页行数 
        pageIndex: 0,//其实页 
        method: "get",//请求格式 
        //toolbar: "#toolBar", 
        onPageChange: function (number, size) { 
          currPageIndex = number; 
          currLimit = size 
        }, 
        onLoadSuccess: function () 
        { 
          $("#searchBtn").button('reset'); 
        } 
      }); 
 
      //搜索 
      $("#searchBtn").click(function () { 
        $(this).button('loading'); 
        var nullparamss = {}; 
        $("#dataShow").bootstrapTable("refresh", nullparamss); 
         
      }); 
      //enter键搜索 
      $("#searchKey").keydown(function (event) { 
        if (event.keyCode == 13) 
        { 
          $("#searchBtn").click(); 
        } 
      }); 
      //阻止enter键提交表单 
      $("#mainForm").submit(function () { 
        return false; 
      }); 
 
       
    }); 
    //默认加载时携带参数 
    function getParams(params) { 
      var searchKey = $("#searchKey").val(); 
      return { bysex: 1, limit: params.limit, offset: params.offset, search: searchKey }; 
    } 

TradHandler.ashx:

/// <summary> 
    /// 获取批量数据示例 
    /// </summary> 
    /// <param name="context"></param> 
    private void getTradList(HttpContext context) 
    { 
      //用于序列化实体类的对象 
      JavaScriptSerializer jss = new JavaScriptSerializer(); 
 
      #region 模拟数据获取 
      List<SimpleModel> list = new List<SimpleModel>(); 
      for (int i = 0; i < 1000; i++) 
      { 
        list.Add(new SimpleModel() { age = 18, name = "小李" + i, rkey = i + 1, sex = "男" }); 
      } 
 
 
      //请求中携带的条件 
      string bysex = context.Request.Params["bysex"]; 
      string searchKey = context.Request.Params["search"]; 
 
      //請求中攜帶的頁數和下標 
      int dataIndex = Convert.ToInt32(context.Request.Params["offset"]); 
      int pageCount = Convert.ToInt32(context.Request.Params["limit"]); 
 
      //查询满足条件的数据 
      List<SimpleModel> getList; 
      if (bysex != null && searchKey != null) 
      { 
        getList = (from p in list 
              where p.sex == (bysex == "0" ? "女" : "男") && p.name.Contains(searchKey.Trim()) 
              select p).ToList(); 
      } 
      else 
      { 
        getList = list; 
      } 
      #endregion 
 
      //将结果增加一列序号列 
      Dictionary<int, SimpleModel> testModel = new Dictionary<int, SimpleModel>(); 
      for (int i=0;i< getList.Count;i++) 
      { 
        testModel.Add(i + 1, getList[i]); 
      } 
       
      //给分页实体赋值 
      PageModels<SimpleModel> model = new PageModels<SimpleModel>(); 
      model.total = getList.Count; 
      if (getList.Count % pageCount == 0) 
        model.page = getList.Count / pageCount; 
      else 
        model.page = (getList.Count / pageCount) + 1; 
 
      //獲取對應頁的數據 
      model.rows = testModel.Where(t => t.Key > dataIndex && t.Key <= dataIndex + pageCount).Select(t => t.Value).ToList(); 
 
      //将查询结果返回 
      context.Response.Write(jss.Serialize(model)); 
    } 

有同学问pagemodel实体类,这里也分享一下,泛型实体类,因为该插件需要这些属性才能正常自动绑定

[Serializable] 
  public class TablePageModel<T> 
  { 
    /// <summary> 
    /// 總行數 
    /// </summary> 
    public long total { get; set; } 
 
    /// <summary> 
    /// 总页数 
    /// </summary> 
    public int page { get; set; } 
 
    private List<T> _rows; 
    /// <summary> 
    /// 數據源 
    /// </summary> 
    public List<T> rows 
    { 
      get 
      { 
        if (_rows == null) 
          _rows = new List<T>(); 
        return _rows; 
      } 
      set 
      { 
        _rows = value; 
      } 
    } 
  } 

展示数据结果如下:

 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# bootstrap  # Table插件  # Table插件demo  # 使用bootstraptable插件实现表格记录的查询、分页、排序操作  # bootstrap table插件的分页与checkbox使用详解  # bootstrap table表格插件使用详解  # ABP入门系列应用BootstrapTable表格插件  # 使用contextMenu插件实现Bootstrap table弹出右键菜单  # BootStrap中Table分页插件使用详解  # BootStrap table表格插件自适应固定表头(超好用)  # 值得分享的轻量级Bootstrap Table表格插件  # 分页  # 实体类  # 每页  # 半天  # 英文  # 找了  # 就看  # 才能正常  # 表单  # 绑定  # 小李  # 查询结果  # 大家多多  # 搜索功能  # 为该  # 单选  # 行数  # 加载  # 序列化  # 网上 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Internet Explorer官网直接进入 IE浏览器在线体验版网址  jQuery 常见小例汇总  C语言设计一个闪闪的圣诞树  如何在IIS服务器上快速部署高效网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何用低价快速搭建高质量网站?  Python进程池调度策略_任务分发说明【指导】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何挑选最适合建站的高性能VPS主机?  如何快速完成中国万网建站详细流程?  简历在线制作网站免费版,如何创建个人简历?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何用VPS主机快速搭建个人网站?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Linux系统命令中tree命令详解  历史网站制作软件,华为如何找回被删除的网站?  如何快速启动建站代理加盟业务?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  浅谈javascript alert和confirm的美化  JS经典正则表达式笔试题汇总  怎样使用JSON进行数据交换_它有什么限制  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel如何配置任务调度?(Cron Job示例)  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  如何在云服务器上快速搭建个人网站?  如何利用DOS批处理实现定时关机操作详解  网站建设要注意的标准 促进网站用户好感度!  JavaScript如何实现倒计时_时间函数如何精确控制  如何快速搭建安全的FTP站点?  Laravel观察者模式如何使用_Laravel Model Observer配置  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何用y主机助手快速搭建网站?  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何用景安虚拟主机手机版绑定域名建站?  网站页面设计需要考虑到这些问题  网站制作壁纸教程视频,电脑壁纸网站?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】