Jquery中的一些东西学习一下子,补充完善一下,毕竟有些时候没有使用到这个方式很有用,在使用bootstrap table的时候,选择当前已经选择的节点的事件中的ID的值 当前rows中有很多的数据,但是我只需要id这一个值,这个时候进行操作就非常的简单了。
使用的总结:
把一个数组,按照新的方式进行组装返回,和原来的数组不一样。
遍历data数组中的每个元素,并按照return中的计算方式 形成一个新的元素,放入返回的数组中
输出 为 55 0
2.我的后台 呢,是使用SpringMVC进行写的,期间呢也是遇到了很多的问题 ,进行分页 处理的时候使用了离线查询 ,但是呢,我使用的是execute()这个方法 ,传入的session为代理类的数据,不能再下面这个方法 中进行转换导致错误 了,我还百度 了很久,最后才发现是这个问题导致的
Criteria,* to actually run the query.
*/
public Criteria getExecutableCriteria(Session session) {
impl.setSession( ( SessionImplementor ) session );
return impl;
}
return (PageBean) getHibernateTemplate().executeWithNativeSession(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Criteria criteria = detachedCriteria.getExecutableCriteria(session);
............................
}
后台 呢,我返回的数据和格式不是按照BootStrap中的格式有点差别吧,反正就是不一样
IoUsPage": true,"hasNextPage": true,"lastPage": false,"firstPage": false
}
}
主要是这里我是用了统一的返回接口 ActionResult,这样比较方便书写格式,统一后端
来看看前端的效果 吧
前端的页面
//什么公用的bootstrapt ,JQuery啊之类的引用放进去处理了
后台请求的URL
比较重要的JS代码 的说明
代码就好了
});
下面的配置文件 和一些事件的重写呢,你可以查看文档,或者自己去看看你源码
这里你可以进行重写哦~~ ,extentd进行重新的覆盖!
查询时候的参数,我直接在源码中
修改 过,不喜欢offetset 我
后台 用的 是pageNo. 这样处理就比较的满足我的要求,其实也可以在
后台 改,麻烦!
return params;
},queryParamsType: 'limit',// undefined (这里是根据不同的参数,选择不同的
查询 的条件)
responseHandler: function (res) {//这里我查看源码的,在ajax请求成功后,发放数据之前可以对返回的数据进行处理,返回什么部分的数据,比如我的就需要进行整改的!
return res;
},pagination: false,onlyInfoPagination: false,sidePagination: 'client',// client or server
totalRows: 0,// server side need to set
pageNumber: 1,pageSize: 10,pageList: [10,25,50,100],paginationHAlign: 'right',//right,left
paginationVAlign: 'bottom',//bottom,top,both
paginationDetailHAlign: 'left',left
paginationPreText: '‹',paginationNextText: '›',search: false,searchOnEnterKey: false,strictSearch: false,searchAlign: 'right',selectItemName: 'btSelectItem',showHeader: true,showFooter: false,showColumns: false,showPaginationSwitch: false,//展示页数的选择?
showRefresh: false,showToggle: false,buttonsAlign: 'right',smartDisplay: true,escape: false,minimumCountColumns: 1,idField: undefined,uniqueId: undefined,cardView: false,detailView: false,detailFormatter: function (index,row) {
return '';
},trimOnSearch: true,clickToSelect: false,singleSelect: false,toolbar: undefined,toolbarAlign: 'left',check
Box Header: true,sortable: true,silentSort: true,maintainSelected: false,searchTimeOut: 500,searchText: '',iconSize: undefined,buttonsClass: 'default',iconsPrefix: 'glyphicon',// glyphicon of fa (font awesome)
icons: {
paginationSwitchDown: 'glyphicon-collapse-down icon-chevron-down',paginationSwitchUp: 'glyphicon-collapse-up icon-chevron-up',refresh: 'glyphicon-refresh icon-refresh',toggle: 'glyphicon-list-alt icon-list-alt',columns: 'glyphicon-th icon-th',detailOpen: 'glyphicon-plus icon-plus',detailClose: 'glyphicon-minus icon-minus'
},customSearch: $.noop,customSort: $.noop,rowStyle: function (row,index) {
return {};
},rowAttributes: function (row,footerStyle: function (row,onAll: function (name,args) {
return false;
},onClickCell: function (field,value,row,$element) {
return false;
},onDblClickCell: function (field,onClickRow: function (item,onDblClickRow: function (item,onSort: function (name,order) {
return false;
},onCheck: function (row) {
return false;
},onUncheck: function (row) {
return false;
},onCheckAll: function (rows) {
return false;
},onUncheckAll: function (rows) {
return false;
},onCheckSome: function (rows) {
return false;
},onUncheckSome: function (rows) {
return false;
},onLoadSuccess: function (data) {
return false;
},onLoadError: function (status) {
return false;
},onColumnSwitch: function (field,checked) {
return false;
},onPageChange: function (number,size) {
return false;
},onSearch: function (text) {
return false;
},onToggle: function (cardView) {
return false;
},onPreBody: function (data) {
return false;
},onPostBody: function () {
return false;
},onPostHeader: function () {
return false;
},onExpandRow: function (index,$detail) {
return false;
},onCollapseRow: function (index,row) {
return false;
},onRefreshOptions: function (options) {
return false;
},onRefresh: function (params) {
return false;
},onResetView: function () {
return false;
}
};
看看上面的自己也基本上晓得怎么去,书写了!其实之前我根本不敢这么玩,只不过之前实习过程中导师教过我怎么去玩,所以我才敢,我相信,我可以好好的 玩好这些东西的!
显示条纹
pagination: true,//启动
分页
pageSize: 15,//每页
显示 的记录数
pageNumber:1,//当前第几页
pageList: [10,15,20,25],//记录数可选列表
search: false,//是否启用
查询
showColumns: true,//
显示 下拉框勾选要
显示 的列
showRefresh: true,//
显示 刷新按钮
sidePagination: "server",//表示服务端请求
//设置为undefined可以
获取 pageNumber,pageSize,searchText,sortName,sortOrder
//设置为limit可以
获取 limit,offset,search,sort,order
responseHandler:function(res){
//远程数据加载之前,处理程序响应数据格式,对象包含的参数: 我们可以对返回的数据格式进行处理
//在ajax后我们可以在这里进行一些事件的处理
return res.data;
},queryParamsType : "undefined",queryParams: function queryParams(params) { //设置
查询 参数
var param = {
//这里是在ajax发送请求的时候设置一些参数 params有什么东西,自己看看源码就知道了
pageNo: params.pageNumber,pageSize: params.pageSize
};
return param;
},onLoadSuccess: function(data){ //加载成功时执行
alert("加载成功"+data);
},onLoadError: function(){ //加载失败时执行
layer.msg("加载数据失败",{time : 1500,icon : 2});
},height: getHeight(),columns: [
{
field: 'state',check
Box : true,align: 'center',valign: 'middle'
},{
title: 'ID',field: 'id',{
field: 'userName',title: 'UserName',footerFormatter: totalNameFormatter,align: 'center'
},{
field: 'userType',title: 'UserType',{
field: 'password',title: 'UserPass',{
field: 'indexcode',title: 'Indexcode',{
field: 'operate',title: 'Item Operate',events: operateEvents,formatter: operateFormatter
}
]
});
上面的 footerFormatter 和 formatter 都是对于当前列的显示 进行处理的事件,文档中如下
formatter:
都是对于当前列进行处理显示
如下就是增加 了两个按钮在一个单元格中
',' ','
',' '
].join('');
}
也可以在这里就增加 事件的处理
官方中文 档说的处理事件可以像下面这里处理
The cell events listener when you use formatter function,take four parameters: event: the jQuery event. value: the field value. row: the row record data. index: the row index.
Example code:
'
].join('');
}
window.operateEvents = {
'click .like': function (e,index) {
alert('You click like action,row: ' + JSON.stringify(row));
},'click .remove': function (e,index) {
$table.bootstrapTable('remove',{
field: 'id',values: [row.id]
});
}
};
处理系统中存在的事件的处理,文档中有说
这个名字文档中很多!
处理一些方法 ,比如当前选择了多少行,全选等等
Syntax: $('#table').bootstrapTable('method',parameter);
1 当前选择选的框框的id
2.全选
3.删除 前台 的数据,不需要从后台 重新加载
.....很多很多的东西!
一个删除 的按钮,删除 所有的选择的事件!是不是很好呢!
以上所述是小编给大家介绍的Bootstrap Table的使用总结。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享 给好友!感谢支持 。