> 웹 프론트엔드 > 프런트엔드 Q&A > 부트스트랩은 어떤 형태의 플러그인을 사용합니까?

부트스트랩은 어떤 형태의 플러그인을 사용합니까?

青灯夜游
풀어 주다: 2021-11-11 14:07:29
원래의
2036명이 탐색했습니다.

Bootstrap은 "Bootstrap-Table" 테이블 플러그인을 사용할 수 있습니다. "Bootstrap-Table"은 Bootstrap 기반의 jQuery 테이블 플러그인으로, 간단한 설정을 통해 단일 선택, 다중 선택, 정렬, 페이징, 편집, 내보내기, 필터링 등의 강력한 기능을 가질 수 있습니다.

부트스트랩은 어떤 형태의 플러그인을 사용합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, 부트스트랩 버전 3.3.7, DELL G3 컴퓨터

부트스트랩에는 "Bootstrap-Table" 테이블 플러그인을 사용할 수 있습니다.

Bootstrap 테이블은 Bootstrap을 기반으로 한 jQuery 테이블 플러그인으로 비교적 완전한 기능을 갖추고 있으며 비동기 데이터 수집, 편집, 정렬 등과 ​​같은 일련의 기능을 실현할 수 있습니다. 가장 중요한 점은 몇 가지 간단한 작업만 필요하다는 것입니다. 완전한 온라인 형태를 달성하기 위한 구성.

공식 웹사이트 주소: http://bootstrap-table.wenzhixin.net.cn/zh-cn/

Github 주소: https://github.com/wenzhixin/bootstrap-table

중국어 문서: http: // /bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

주요 기능

  • Bootstrap 3 및 Bootstrap 2 지원

  • 적응형 인터페이스

  • 고정 테이블 헤더

  • 매우 풍부한 구성 매개변수

  • 태그를 통해 직접 사용

  • 열 표시/숨기기

  • 헤더 표시/숨기기

  • AJAX를 통해 JSON 형식으로 데이터 가져오기

  • 정렬 지원

  • 테이블 형식 지정

  • 단일 또는 다중 선택 지원

  • 강력한 페이징 기능

  • 카드 보기 지원

  • 다국어 지원 ​

  • 플러그인 지원

장점

  • 낮은 학습 비용, 간단한 구성, 완벽한 문서

  • Bootstrap과의 원활한 연결, 전체적인 스타일 일관, 2차 개발 용이

  • 활동적인 개발자, Github의 정기 유지 관리

Bootstrap Table 소개

관련 Bootstrap Table 도입에는 일반적으로 두 가지 방법이 있습니다.

1. 소스 코드를 직접 다운로드하여 프로젝트에 추가합니다.

Bootstrap 테이블은 Bootstrap의 구성 요소이므로 Bootstrap에 대한 참조를 먼저 추가해야 합니다. Bootstrap 패키지는 http://v3.bootcss.com/에서 직접 찾을 수 있습니다. 버전 4의 미리보기 버전이 출시되었지만 여전히 비교적 안정적인 Bootstrap3, 최신 3.3.5를 사용하는 것이 좋습니다. 그런 다음 Bootstrap Table 패키지가 오픈 소스이므로 소스 코드 https://github.com/wenzhixin/bootstrap-table로 직접 이동하여 다운로드할 수 있습니다. 그런 다음 이 두 패키지를 각각 프로젝트에 추가하십시오.

2. 마법의 Nuget

을 사용하여 Nuget을 열고 이 두 패키지를 검색하세요

직접 설치할 수 있습니다.

그리고 Bootstrap Table의 버전은 실제로 0.4인데 이는 너무 부정 행위입니다. 따라서 블로거는 Bootstrap Table 패키지를 소스 코드에서 직접 다운로드해야 한다고 제안합니다. Bootstrap Table의 최신 버전은 1.9.0인 것 같습니다.

자세한 코드 설명

물론 컴포넌트를 참조하고 나면 사용법은 간단하지만 다루어야 할 내용이 많습니다. 자세한 내용은 나중에 살펴보겠습니다. 먼저 사용하십시오.

1. cshtml 페이지에서 관련 구성요소를 참조하고 빈 테이블을 정의합니다.
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>BootStrap Table使用</title>
    @*1、Jquery组件引用*@
    <script src="~/Scripts/jquery-1.10.2.js"></script>

    @*2、bootstrap组件引用*@
    <script src="~/Content/bootstrap/bootstrap.js"></script>
    <link href="~/Content/bootstrap/bootstrap.css" rel="stylesheet" />
    
    @*3、bootstrap table组件以及中文包的引用*@
    <script src="~/Content/bootstrap-table/bootstrap-table.js"></script>
    <link href="~/Content/bootstrap-table/bootstrap-table.css" rel="stylesheet" />
    <script src="~/Content/bootstrap-table/locale/bootstrap-table-zh-CN.js"></script>
    
    @*4、页面Js文件的引用*@
    <script src="~/Scripts/Home/Index.js"></script>
</head>
<body>
    <div class="panel-body" style="padding-bottom:0px;">
        <div class="panel panel-default">
            <div class="panel-heading">查询条件</div>
            <div class="panel-body">
                <form id="formSearch" class="form-horizontal">
                    <div class="form-group" style="margin-top:15px">
                        <label class="control-label col-sm-1" for="txt_search_departmentname">部门名称</label>
                        <div class="col-sm-3">
                            <input type="text" class="form-control" id="txt_search_departmentname">
                        </div>
                        <label class="control-label col-sm-1" for="txt_search_statu">状态</label>
                        <div class="col-sm-3">
                            <input type="text" class="form-control" id="txt_search_statu">
                        </div>
                        <div class="col-sm-4" style="text-align:left;">
                            <button type="button" style="margin-left:50px" id="btn_query" class="btn btn-primary">查询</button>
                        </div>
                    </div>
                </form>
            </div>
        </div>       

        <div id="toolbar" class="btn-group">
            <button id="btn_add" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增
            </button>
            <button id="btn_edit" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
            </button>
            <button id="btn_delete" type="button" class="btn btn-default">
                <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
            </button>
        </div>
        <table id="tb_departments"></table>
    </div>
</body>
</html>
로그인 후 복사

필요한 파일을 소개한 후 가장 중요한 것은 위와 같이
물론 Bootstrap 테이블은 간단한 사용법도 제공하고 있는데, "data-..." 등의 관련 속성을 테이블 태그에 직접 정의할 수 있기 때문에 굳이 js에 등록할 필요는 없다고 생각합니다. 이 사용법은 간단하고 사용하기 쉽지 않습니다. 부모-자식 테이블과 같은 고급 사용법이 발생할 때 처리하기가 너무 어렵기 때문에 여전히 js에서 테이블 구성 요소를 초기화하여 사용합니다.

2.Js 초기화
$(function () {

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();

});


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $(&#39;#tb_departments&#39;).bootstrapTable({
            url: &#39;/Home/GetDepartment&#39;,         //请求后台的URL(*)
            method: &#39;get&#39;,                      //请求方式(*)
            toolbar: &#39;#toolbar&#39;,                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
            pagination: true,                   //是否显示分页(*)
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数(*)
            sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
            pageNumber:1,                       //初始化加载第一页,默认第一页
            pageSize: 10,                       //每页的记录行数(*)
            pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
            search: true,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
            strictSearch: true,
            showColumns: true,                  //是否显示所有的列
            showRefresh: true,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 500,                        //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
            showToggle:true,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
                checkbox: true
            }, {
                field: &#39;Name&#39;,
                title: &#39;部门名称&#39;
            }, {
                field: &#39;ParentName&#39;,
                title: &#39;上级部门&#39;
            }, {
                field: &#39;Level&#39;,
                title: &#39;部门级别&#39;
            }, {
                field: &#39;Desc&#39;,
                title: &#39;描述&#39;
            }, ]
        });
    };

    //得到查询的参数
    oTableInit.queryParams = function (params) {
        var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
            limit: params.limit,   //页面大小
            offset: params.offset,  //页码
            departmentname: $("#txt_search_departmentname").val(),
            statu: $("#txt_search_statu").val()
        };
        return temp;
    };
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};
로그인 후 복사

테이블 초기화도 매우 간단합니다. 관련 매개변수만 정의하면 됩니다.

위에 블로거들이 중요하다고 생각하는 몇몇 매개변수들이 설명되어 있고, 테이블 초기화에 필요한 몇몇 매개변수들 역시 (*)로 표시되어 있습니다. 테이블에도 페이지 요구 사항이 너무 많으면 필요한 매개변수만 사용하세요. 직접 해결 가능합니다. 마찬가지로 columns 매개변수에는 열 정렬, 정렬, 너비 등 실제로 설정해야 할 매개변수가 많이 있습니다. 이러한 블로거들은 이것이 상대적으로 간단하고 테이블의 기능을 포함하지 않는다고 생각합니다. 그들은 단지 API를 보고 완료할 수 있습니다.

3、在Controller里面对应的方法

public JsonResult GetDepartment(int limit, int offset, string departmentname, string statu)
        {
            var lstRes = new List<Department>();
            for (var i = 0; i < 50; i++)
            {
                var oModel = new Department();
                oModel.ID = Guid.NewGuid().ToString();
                oModel.Name = "销售部" + i ;
                oModel.Level = i.ToString();
                oModel.Desc = "暂无描述信息";
                lstRes.Add(oModel);
            }

            var total = lstRes.Count;
            var rows = lstRes.Skip(offset).Take(limit).ToList();
            return Json(new { total = total, rows = rows }, JsonRequestBehavior.AllowGet);
        }
로그인 후 복사

这里有一点需要注意:如果是服务端分页,返回的结果必须包含total、rows两个参数。漏写或错写都会导致表格无法显示数据。相反,如果是客户端分页,这里要返回一个集合对象到前端。

4、效果及说明

还是贴几张效果图出来:

推荐学习:《bootstrap使用教程

위 내용은 부트스트랩은 어떤 형태의 플러그인을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿