찾다
웹 프론트엔드부트스트랩 튜토리얼BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]

BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]

이 글에서는 부트스트랩 테이블 플러그인을 사용하여 동적 테이블을 구현하는 방법을 소개합니다.

추천 튜토리얼: Bootstrap 튜토리얼

BootStrapTable(이하 BsTable)을 빌드할 때 columns 매개변수는 테이블 열의 내용으로 저장됩니다. 반환된 데이터입니다. 그러면 동적 테이블이 생성됩니다.

columns 매개변수 형식: 다음과 유사

columns: {
    {
        field: 'Id',
        title: '编号',
    },{
        field: 'name',
        title: '名称',
    },{
        field: 'sex',
        title: '性别',
        //自定义方法
        formatter: function (value) {
            if (value == 1) {
                return '男';
            } else if (value == 2) {
                retuen '女';
            }
        }
    },
}

요구 사항: 버튼을 클릭하여 Ajax 요청을 보내고 요청에서 반환된 데이터를 기반으로 동적 테이블을 구축합니다.

버튼 구조: 클릭 이벤트 설정

<button type="button" class="btn btn-primary" onclick="DataQuery.sqlExecute()">
    <i class="fa fa-check"></i> SQL语句执行
</button>

클릭 이벤트 작성: dataQuery.js (참고: 하나씩 분석됩니다. 완전한 코드는 마지막에 붙여넣을 예정입니다.)

1. html 페이지 요소 값 가져오기

이 기능을 구현하려면 SQL 문(sql) + 연결 정보(connectInfo)라는 두 개의 매개 변수가 필요하므로 두 요소의 값을 페이지에서 가져와야 합니다. 첫째, 클래스 선택기는 해당 값을 얻기 위해 요소를 선택합니다.

var sql = $(&#39;#sql&#39;).val();
var connectInfo = $(&#39;#connectInfo&#39;).val();

2 페이지에서 테이블 요소를 선택하고, ajax 요청을 보내고, BSTable을 빌드하세요

페이지의 테이블 요소: beetl 태그를 사용하여 재사용된 HTML 코드를 코드 태그 줄로 바꿉니다. , 사용하기 편리하고 유지 관리가 쉽습니다.

<#table id="DataQueryTable"/>

  2.1 Ajax 요청 매개변수 구성

parameter meaning
type 요청 유형
url 링크 주소
contentType 을 서버에 요청
dataType의 형식 수신된 데이터의 형식
data 서버로 보낸 데이터
success 요청 성공 시 호출
error 요청 failed 호출 시

상세 코드:

$(&#39;#DataQueryTable&#39;).bootstrapTable({
    ajax: function (request) {
        $.ajax({
            type: "GET",
            url: Feng.ctxPath + "/dataQuery/list" + "/" + sql + "/" + connectInfo,
            contentType: "application/json;charset=utf-8",
            dataType: "json",
            json: &#39;callback&#39;,
            success: 见下文
            error: 见下文
    })
})

 2.2 Ajax 요청 성공, 반환된 json 데이터를 기반으로 동적 헤더가 생성됨

  2.2.1 사용자 정의 동적 헤더 배열 초기화

 //定义动态表头字段数组
    var dynamicHeader = [];
    //向数组中填入属性
    dynamicHeader.push({
        field: "state",
        check: true
    });

 2.2.2 동적 헤더 Generation

  //针对返回的json数据,遍历json数据的key集合
   for (var i = 0; i<(Object.keys(json[0])).length; i++) {
       //获取对应索引的value值,将获取的值设置到动态表头字段中。
       var property = (Object.keys(json[0]))[i];
       dynamicHeader.push({
           "title": property,
           "field": property,
           //显示是否显示隐藏
           switchable: true,
           //是否开启排序
           sortable: true
       });
   }

 This 이 코드를 브라우저 F12와 결합하여 Object.keys(json[0])의 특정 콘텐츠를 볼 수 있습니다. 요청/테스트를 시뮬레이션합니다.

BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]

  2.2.3 테이블을 구성하기 전에 테이블을 삭제해야 합니다. 그렇지 않으면 마지막으로 로드된 내용이 유지됩니다.

  $(&#39;#DataQueryTable&#39;).bootstrapTable(&#39;destroy&#39;).bootstrapTable({
       //得到的json数据,会根据columns参数进行对应赋值配置
       data: json,
       //Bstable工具导航条
       toolbar: &#39;#toolbar&#39;,
       //浏览器缓存,默认为true,设置为false避免页面刷新调用浏览器缓存
       cache: false,
       //是否显示行间隔色
       striped: true,
       //分页方式:client客户端分页,server服务端分页
       sidePagination: "client",
       //排序方式
       sortOrder: "desc",
       //每页记录行数
       pageSize: 25,
       //初始化加载第一页
       pageNumber: 1,
       //可供选择的每页行数
       pageList: "[25, 50, 100, All]",
       //是否显示切换按钮
       showToggle: true,
       //是否显示所有的列
       showColumns: true,
       //是否显示导出按钮(下篇文章将会提到)
       showExport: true,
       //导出数据类型(下篇文章将会提到)
       exportDataType: "basic",
       //是否显示分页
       pagination: true,
       //是否启用全匹配搜索,否则为模糊搜索
       strictSearch: true,
       //开启搜索
       search: true,
       //自定义所生成的动态表头放入,结合上述json数据,实现表格数据内容的构建
       columns: dynamicHeader
   });
 },

  2.3 ajax 요청이 실패하고 팝업 창에 오류 메시지가 표시됩니다. 페이지가 다시 로드됩니다

error: function () {
    alert("SQL查询错误,请输入正确的SQL语句!");
    location.reload();
}

js 코드 완성

/**
 *  BsTable动态表格生成
 */
DataQuery.sqlExecute = function (){

    var sql = $(&#39;#sql&#39;).val();
    var connectInfo = $(&#39;#connectInfo&#39;).val();

    $(&#39;#DataQueryTable&#39;).bootstrapTable({
        ajax: function (request) {
            $.ajax({
                type: "GET",
                url: Feng.ctxPath + "/dataQuery/list" + "/" + sql + "/" + connectInfo,
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                json: &#39;callback&#39;,
                success: function (json) {

                    var dynamicHeader = [];
                    dynamicHeader.push({
                        field: "state",
                        check: true
                    });

                    for (var i = 0; i<(Object.keys(json[0])).length; i++) {
                        var property = (Object.keys(json[0]))[i];
                        //console.log(property);
                        dynamicHeader.push({
                            "title": property,
                            "field": property,
                            switchable: true,
                            sortable: true
                        });
                    }

                    //console.log(Object.keys(json[0]));

                    $(&#39;#DataQueryTable&#39;).bootstrapTable(&#39;destroy&#39;).bootstrapTable({
                        data: json,
                        toolbar: &#39;#toolbar&#39;,
                        cache: false,
                        striped: true,
                        sidePagination: "client",
                        sortOrder: "desc",
                        pageSize: 25,
                        pageNumber: 1,
                        pageList: "[25, 50, 100, All]",
                        showToggle: true,
                        showColumns: true,
                        showExport: true,
                        exportDataType: "basic",
                        pagination: true,
                        strictSearch: true,
                        search: true,
                        columns: dynamicHeader
                    });
                },
                error: function () {
                    alert("SQL查询错误,请输入正确的SQL语句!");
                    location.reload();
                }
            });
        }
    });
};

3. 동적 테이블 생성 결과 테스트

 3.1 테스트는 두 부분으로 나누어집니다. 먼저 json 데이터를 가져옵니다. 3.2 요청에 의해 반환된 json 데이터 보기

BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]  3.3 동적 테이블 생성 테스트

위 요청은 다음을 수행할 수 있습니다. 정상적으로 데이터를 반환하는데, Ajax 요청을 통해 구축한 동적 BSTable은 어떻습니까?  요청 내용은 SQL 문/링크 정보이며, ajax 요청은 위 요청과 일치하는 json 데이터를 반환합니다.

동적 테이블 생성 상태를 확인하세요:

BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]

BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]

Bingo, 이제 BootStrapTable 동적 테이블 기능이 구현되었습니다.

위 내용은 BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
부트 스트랩 분해 : 그것이 무엇인지, 왜 중요한지부트 스트랩 분해 : 그것이 무엇인지, 왜 중요한지Apr 14, 2025 am 12:05 AM

BootstrapisAfree, Open-SourcecsSframework that atresponsiveandmobile-firstwebsitedevelopment.itofferspre-styledcomponentsandagridsystem, streamliningthecreations of hetsingallyfleasing 및 functionalwebdesigns를 간소화합니다.

부트 스트랩 : 웹 디자인을보다 쉽게 ​​만듭니다부트 스트랩 : 웹 디자인을보다 쉽게 ​​만듭니다Apr 13, 2025 am 12:10 AM

웹 디자인이 더 쉬운 것은 부트 스트랩입니다. 사전 설정 구성 요소, 반응 형 디자인 및 풍부한 커뮤니티 지원. 1) 사전 설정 구성 요소 라이브러리 및 스타일을 사용하면 개발자가 복잡한 CSS 코드를 쓰지 않도록 할 수 있습니다. 2) 내장 그리드 시스템은 반응 형 레이아웃 생성을 단순화합니다. 3) 커뮤니티 지원은 풍부한 자원과 솔루션을 제공합니다.

부트 스트랩의 영향 : 웹 개발 가속화부트 스트랩의 영향 : 웹 개발 가속화Apr 12, 2025 am 12:05 AM

Bootstrap은 웹 개발을 가속화하고 사전 정의 된 스타일 및 구성 요소를 제공함으로써 신속하게 반응 형 웹 사이트를 구축 할 수 있습니다. 1) 프로젝트에서 며칠 내에 기본 레이아웃을 완료하는 등 개발 시간이 단축됩니다. 2) SASS 변수와 믹스 인을 통해 부트 스트랩을 통해 맞춤형 스타일은 특정 요구를 충족시킬 수 있습니다. 3) CDN 버전을 사용하면 성능을 최적화하고 로딩 속도를 향상시킬 수 있습니다.

부트 스트랩 이해 : 핵심 개념 및 기능부트 스트랩 이해 : 핵심 개념 및 기능Apr 11, 2025 am 12:01 AM

Bootstrap은 오픈 소스 프론트 엔드 프레임 워크이며 주요 기능은 개발자가 반응 형 웹 사이트를 신속하게 구축하도록 돕는 것입니다. 1) 복잡한 UI 효과의 구현을 용이하게하기 위해 사전 정의 된 CSS 클래스 및 JavaScript 플러그인을 제공합니다. 2) 부트 스트랩의 작동 원리는 CSS 및 JavaScript 구성 요소에 의존하여 미디어 쿼리를 통해 반응 형 디자인을 실현합니다. 3) 사용의 예로는 버튼 작성과 같은 기본 사용 및 사용자 정의 스타일과 같은 고급 사용법이 포함됩니다. 4) 일반적인 오류에는 클래스 이름의 철자가 포함됩니다. 브라우저 개발자 도구를 사용하여 디버깅하는 것이 좋습니다. 5) 성능 최적화는 맞춤형 빌드 도구를 통해 달성 할 수 있으며 모범 사례에는 Semantic HTML 및 부트 스트랩 사용 사전 정의가 포함됩니다.

부트 스트랩 딥 다이브 : 반응 형 디자인 및 고급 레이아웃 기술부트 스트랩 딥 다이브 : 반응 형 디자인 및 고급 레이아웃 기술Apr 10, 2025 am 09:35 AM

Bootstrap은 그리드 시스템 및 미디어 쿼리를 통한 반응 형 디자인을 구현하여 웹 사이트를 다른 장치에 적용합니다. 1. 사전 정의 된 클래스 (예 : col-SM-6)를 사용하여 열 너비를 정의하십시오. 2. 그리드 시스템은 12 개의 열을 기반으로하며 합계가 12를 초과하지 않습니다. 3. SM, MD, LG와 같은 중단 점 (예 : SM, MD, LG)을 사용하여 다른 화면 크기로 레이아웃을 정의합니다.

부트 스트랩 인터뷰 질문 : 꿈의 프론트 엔드 직업을 착륙 시키십시오부트 스트랩 인터뷰 질문 : 꿈의 프론트 엔드 직업을 착륙 시키십시오Apr 09, 2025 am 12:14 AM

Bootstrap은 반응 형 웹 사이트 및 응용 프로그램의 신속한 개발을위한 오픈 소스 프론트 엔드 프레임 워크입니다. 1. 반응 형 설계, 일관된 UI 구성 요소 및 빠른 개발의 장점을 제공합니다. 2. 그리드 시스템은 12 열 구조를 기반으로 Flexbox 레이아웃을 사용하며 .Container, .row 및 .Col-SM-6과 같은 클래스를 통해 구현됩니다. 3. SASS 변수를 수정하거나 CSS를 덮어 쓰면 사용자 정의 스타일을 구현할 수 있습니다. 4. 일반적으로 사용되는 JavaScript 구성 요소에는 모달 상자, 회전식 다이어그램 및 접이식이 포함됩니다. 5. 필요한 구성 요소 만로드하고 CDN을 사용하고 병합 파일을 압축하여 최적화 성능을 달성 할 수 있습니다.

Bootstrap & JavaScript 통합 : 동적 기능 및 기능Bootstrap & JavaScript 통합 : 동적 기능 및 기능Apr 08, 2025 am 12:10 AM

Bootstrap 및 JavaScript를 원활하게 통합하여 웹 페이지에 역동적 인 기능을 제공 할 수 있습니다. 1) JavaScript를 사용하여 모달 박스 및 내비게이션 바와 같은 부트 스트랩 구성 요소를 조작하십시오. 2) jQuery가 올바르게로드되도록하고 일반적인 통합 문제를 피하십시오. 3) 이벤트 모니터링 및 DOM 운영을 통해 복잡한 사용자 상호 작용 및 동적 효과를 달성합니다.

부트 스트랩 검색 창을 얻는 방법부트 스트랩 검색 창을 얻는 방법Apr 07, 2025 pm 03:33 PM

부트 스트랩을 사용하여 검색 표시 줄의 값을 얻는 방법 : 검색 표시 줄의 ID 또는 이름을 결정하십시오. JavaScript를 사용하여 DOM 요소를 얻으십시오. 요소의 값을 가져옵니다. 필요한 작업을 수행하십시오.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경