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 = $('#sql').val(); var connectInfo = $('#connectInfo').val();
2 페이지에서 테이블 요소를 선택하고, ajax 요청을 보내고, BSTable을 빌드하세요
페이지의 테이블 요소: beetl 태그를 사용하여 재사용된 HTML 코드를 코드 태그 줄로 바꿉니다. , 사용하기 편리하고 유지 관리가 쉽습니다.
<#table id="DataQueryTable"/>
2.1 Ajax 요청 매개변수 구성
parameter | meaning |
---|---|
type | 요청 유형 |
url | 링크 주소 |
contentType | 을 서버에 요청 |
dataType의 형식 | 수신된 데이터의 형식 |
data | 서버로 보낸 데이터 |
success | 요청 성공 시 호출 |
error | 요청 failed 호출 시 |
상세 코드:
$('#DataQueryTable').bootstrapTable({ ajax: function (request) { $.ajax({ type: "GET", url: Feng.ctxPath + "/dataQuery/list" + "/" + sql + "/" + connectInfo, contentType: "application/json;charset=utf-8", dataType: "json", json: 'callback', 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])의 특정 콘텐츠를 볼 수 있습니다. 요청/테스트를 시뮬레이션합니다.
2.2.3 테이블을 구성하기 전에 테이블을 삭제해야 합니다. 그렇지 않으면 마지막으로 로드된 내용이 유지됩니다.
$('#DataQueryTable').bootstrapTable('destroy').bootstrapTable({ //得到的json数据,会根据columns参数进行对应赋值配置 data: json, //Bstable工具导航条 toolbar: '#toolbar', //浏览器缓存,默认为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 = $('#sql').val(); var connectInfo = $('#connectInfo').val(); $('#DataQueryTable').bootstrapTable({ ajax: function (request) { $.ajax({ type: "GET", url: Feng.ctxPath + "/dataQuery/list" + "/" + sql + "/" + connectInfo, contentType: "application/json;charset=utf-8", dataType: "json", json: 'callback', 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])); $('#DataQueryTable').bootstrapTable('destroy').bootstrapTable({ data: json, toolbar: '#toolbar', 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 데이터 보기
3.3 동적 테이블 생성 테스트
위 요청은 다음을 수행할 수 있습니다. 정상적으로 데이터를 반환하는데, Ajax 요청을 통해 구축한 동적 BSTable은 어떻습니까? 요청 내용은 SQL 문/링크 정보이며, ajax 요청은 위 요청과 일치하는 json 데이터를 반환합니다.
동적 테이블 생성 상태를 확인하세요:위 내용은 BootStrapTable의 동적 테이블에 대한 자세한 튜토리얼[코드 포함]의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











부트 스트랩 사진을 중심으로하는 방법에는 여러 가지가 있으며 Flexbox를 사용할 필요가 없습니다. 수평으로 만 중심으로 만 있으면 텍스트 중심 클래스가 충분합니다. 수직 또는 여러 요소를 중심으로 해야하는 경우 Flexbox 또는 그리드가 더 적합합니다. Flexbox는 호환성이 떨어지고 복잡성을 증가시킬 수 있지만 그리드는 더 강력하고 학습 비용이 더 높습니다. 방법을 선택할 때는 장단점을 평가하고 필요와 선호도에 따라 가장 적합한 방법을 선택해야합니다.

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

부트 스트랩을 사용하여 수직 센터링을 구현하여 : Flexbox Method : D-Flex, 정당화 컨텐츠 중심 및 정렬 중심 센터 클래스를 사용하여 Flexbox 컨테이너에 요소를 배치하십시오. Align-Items-Center 클래스 방법 : Flexbox를 지원하지 않는 브라우저의 경우 상위 요소의 높이가 정의 된 경우 Align-Items 중심 클래스를 사용하십시오.

기사는 CSS 변수, SASS, 사용자 정의 CSS, JavaScript 및 구성 요소 수정을 사용하여 Bootstrap의 외관 및 동작을 사용자 정의하는 것에 대해 설명합니다. 또한 스타일을 수정하고 장치 전체의 대응 성을 보장하기위한 모범 사례를 다룹니다.

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.
