bootstrap Table插件使用demo
最近研究bootstrap,它僅提供視覺效果,對(duì)于數(shù)據(jù)列表之類的并未涉及,網(wǎng)上找了一下,找到一個(gè)Table插件。
名為bootstrapTable。
官方地址:http://bootstrap-table.wenzhixin.net.cn/examples/
github:https://github.com/wenzhixin/bootstrap-table
因?yàn)橛⑽牟睿芯苛税胩?,做了一個(gè)demo,將就看
HTML:
<table class="table" id="dataShow" >
<thead>
<tr>
<th data-checkbox="true">選擇</th>
<th data-field="rkey">供應(yīng)商名稱</th>
<th data-field="rkey">供應(yīng)商編碼</th>
<th data-field="name">物料編碼</th>
<th data-field="sex">申請(qǐng)類型</th>
<th data-field="birthdayString">試用申請(qǐng)編碼</th>
<th data-field="age">試用狀態(tài)</th>
<th data-field="age">廠別</th>
<th data-field="age">審批狀態(tài)</th>
<th data-field="birthday">申請(qǐng)時(shí)間</th>
<th data-field="age">試用結(jié)果</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",//服務(wù)器分頁
//showRefresh: true,//刷新功能
//search: true,//搜索功能
clickToSelect: true,//選擇行即選擇checkbox
singleSelect: true,//僅允許單選
//searchOnEnterKey: true,//ENTER鍵搜索
pagination: true,//啟用分頁
escape: true,//過濾危險(xiǎn)字符
queryParams: getParams,//攜帶參數(shù)
pageCount: 10,//每頁行數(shù)
pageIndex: 0,//其實(shí)頁
method: "get",//請(qǐng)求格式
//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;
});
});
//默認(rèn)加載時(shí)攜帶參數(shù)
function getParams(params) {
var searchKey = $("#searchKey").val();
return { bysex: 1, limit: params.limit, offset: params.offset, search: searchKey };
}
TradHandler.ashx:
/// <summary>
/// 獲取批量數(shù)據(jù)示例
/// </summary>
/// <param name="context"></param>
private void getTradList(HttpContext context)
{
//用于序列化實(shí)體類的對(duì)象
JavaScriptSerializer jss = new JavaScriptSerializer();
#region 模擬數(shù)據(jù)獲取
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 = "男" });
}
//請(qǐng)求中攜帶的條件
string bysex = context.Request.Params["bysex"];
string searchKey = context.Request.Params["search"];
//請(qǐng)求中攜帶的頁數(shù)和下標(biāo)
int dataIndex = Convert.ToInt32(context.Request.Params["offset"]);
int pageCount = Convert.ToInt32(context.Request.Params["limit"]);
//查詢滿足條件的數(shù)據(jù)
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
//將結(jié)果增加一列序號(hào)列
Dictionary<int, SimpleModel> testModel = new Dictionary<int, SimpleModel>();
for (int i=0;i< getList.Count;i++)
{
testModel.Add(i + 1, getList[i]);
}
//給分頁實(shí)體賦值
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;
//獲取對(duì)應(yīng)頁的數(shù)據(jù)
model.rows = testModel.Where(t => t.Key > dataIndex && t.Key <= dataIndex + pageCount).Select(t => t.Value).ToList();
//將查詢結(jié)果返回
context.Response.Write(jss.Serialize(model));
}
有同學(xué)問pagemodel實(shí)體類,這里也分享一下,泛型實(shí)體類,因?yàn)樵摬寮枰@些屬性才能正常自動(dòng)綁定
[Serializable]
public class TablePageModel<T>
{
/// <summary>
/// 總行數(shù)
/// </summary>
public long total { get; set; }
/// <summary>
/// 總頁數(shù)
/// </summary>
public int page { get; set; }
private List<T> _rows;
/// <summary>
/// 數(shù)據(jù)源
/// </summary>
public List<T> rows
{
get
{
if (_rows == null)
_rows = new List<T>();
return _rows;
}
set
{
_rows = value;
}
}
}
展示數(shù)據(jù)結(jié)果如下:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript檢測(cè)是否開啟了控制臺(tái)(F12調(diào)試工具)
通過js來檢測(cè)開發(fā)者工具是否打開,防止別人惡意調(diào)試我們的代碼,最近我發(fā)現(xiàn)還是有蠻多人去瀏覽那篇文章,所以這里再放出一段代碼,算是個(gè)升級(jí)版吧2020-10-10
JS實(shí)現(xiàn)動(dòng)態(tài)給標(biāo)簽控件添加事件的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)動(dòng)態(tài)給標(biāo)簽控件添加事件的方法,結(jié)合實(shí)例形式分析了javascript簡(jiǎn)單實(shí)現(xiàn)動(dòng)態(tài)添加事件的相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
JavaScript簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁回到頂部功能
JavaScript簡(jiǎn)單實(shí)現(xiàn)網(wǎng)頁回到頂部功能,大家可以參考一下2013-11-11
微信小程序?qū)崿F(xiàn)頁面監(jiān)聽自定義組件的觸發(fā)事件
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)頁面監(jiān)聽自定義組件的觸發(fā)事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
JavaScript中小數(shù)點(diǎn)精度丟失的原因以及解決方法
計(jì)算機(jī)再大的內(nèi)存它也存不下,所以不能存儲(chǔ)一個(gè)相對(duì)于數(shù)學(xué)來說的值,只能存儲(chǔ)一個(gè)近似值,所以當(dāng)計(jì)算機(jī)存儲(chǔ)后再取出來用時(shí)就會(huì)出現(xiàn)精度問題,下面這篇文章主要給大家介紹了關(guān)于JavaScript中小數(shù)點(diǎn)精度丟失的原因以及解決方法,需要的朋友可以參考下2023-10-10
用iframe實(shí)現(xiàn)不刷新整個(gè)頁面上傳圖片的實(shí)例
下面小編就為大家?guī)硪黄胕frame實(shí)現(xiàn)不刷新整個(gè)頁面上傳圖片的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
Form表單按回車自動(dòng)提交表單的實(shí)現(xiàn)方法
本文給大家分享form表單按回車自動(dòng)提交表單的方法,在前端開發(fā)中經(jīng)常會(huì)遇到,今天小編給大家介紹具體實(shí)現(xiàn)方法,感興趣的朋友一起看看2016-11-11

