Bootstrap-Table:

在业务系统开发中,对表格记录的查询、分页、排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,Bootstrap-Table是一款非常好用的开源表格插件,在很多项目中广泛的应用。Bootstrap-Table插件提供了非常丰富的属性设置,可以实现查询、分页、排序、复选框、设置显示列、Card view视图、主从表显示、合并列、国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行、移动列位置等一些特殊的功能,插件可以用基于HTML5的data-*属性标识设置,也可以使用Javascript方式进行设置,非常方便。

引入相应的CSS和JS

<link rel="stylesheet" href="webjars/bootstrap/3.3.7-1/css/bootstrap.min.css"/>
<link rel="stylesheet" href="webjars/bootstrap-table/1.9.1-1/bootstrap-table.css"/>
<script type="text/javascript" src="static/js/jquery.js"></script>
<script type="text/javascript" src="webjars/bootstrap/3.3.7-1/js/bootstrap.js"></script>
<script type="text/javascript" src="webjars/bootstrap-table/1.9.1-1/bootstrap-table.js"></script>
<script type="text/javascript" src="webjars/bootstrap-table/1.9.1-1/locale/bootstrap-table-zh-CN.js"></script>

插件下载地址

BootStrapTable官网下载地址:https://bootstrap-table.com/

Bootstrap和BootstrapTable依赖:

<dependency><groupId>org.webjars</groupId><artifactId>bootstrap</artifactId><version>3.3.7-1</version>
</dependency>
<!-- 表格 -->
<dependency><groupId>org.webjars</groupId><artifactId>bootstrap-table</artifactId><version>1.9.1-1</version>
</dependency>

页面部分只需要定义一个table标签即可,数据源和样式可以通过JS渲染

<table id="stu_table"></table>

JS渲染表格及设置表格属性。关于BootStrapTable属性大家可以参考BootStrap Table中文网的属性说明,不过官网好像是适用于用HTML渲染的,JS渲染的属性在网上找了一份整理过的Bootstrap Table API 中文版 说明文档。

$("#stu_table").bootstrapTable({url: 'student/page',    //表格数据请求地址toolbar: '#toolbar',    //自定义组件striped: true,	//隔行换色sortName: 'id',   //定义那一列可以排序sortOrder: 'desc',	//排序方式height: tableHeight(),		//设置高度pagination: true,	//显示表格的底部工具栏sidePagination: 'server',   //client客户端分页,server服务器分页pageNumber: 1,		//初始的页数pageSize: 10,		//默认每页数据pageList: [10, 15, 50, 100],	//设置分页选择每页显示的条数search: true,		//定义右上方的搜索框,输入即可以开始搜索showColumns: true,	//选列的下拉菜单showRefresh: true,	//刷新按钮showToggle: true,	//视图切换toolbarAlign: 'left',	//自定义按钮位置clickToSelect: true,	//点击行选中//singleSelect: true,		//单选queryParams: function (param){	//传递参数var params = $('#queryForm').serializeObject();params.limit = param.limit;params.offset = param.offset;params.search = param.search;params.sort = param.sort;params.order=param.order;return params;},columns:[{checkbox: true    //多选框},{field: 'id',	//每列的字段名title: 'id',	//表头所显示的名字halign: 'center',	//表头的对齐方式valign: 'middle',	//表格对齐方式居中order: 'asc',		//默认排序方式sortable: true,		//设置可以排序align: 'center'		//表格数据对齐方式},{field: 'name',title: '姓名',valign: 'middle',halign: 'center',align: 'center'},{field: 'username',title: '用户名',valign: 'middle',halign: 'center',align: 'center'}]
});//设置表格高度
function tableHeight() {return $(window).height() - 100;
}

其中url是设置请求数据源地址。

queryParams属性是设置传递请求携带的参数。

height属性设置表格的高度,可以写固定值,也可以使用JS方法,返回一个高度。

columns属性是设置显示数据字段内容,其中field属性值需要和实体类对应。

student/page请求数据源后台方法(这里持久层框架是用的Spring-Data-Jpa,只要最后返回的JSON数据格式一样就可以,下面有JSON数据格式样式)。 

@RequestMapping(value="/page")
@ResponseBody
public Object page(TablePageable pageParam, StudentForm form) {PageRequest pageable = pageParam.bulidPageRequest();Specification<Student> spec = buildSpec(form);Page<Student> page = studentService.findAll(spec, pageable);return AjaxResult.bulidPageResult(page);
}//动态查询,可以写查询条件
public Specification<Student> buildSpec(StudentForm form){return null;
}

其中page方法中接收参数的TablePageable类是接收分页和排序参数类,其中还包含了几个分页排序处理的方法。StudentForm中的字段和实体类中字段一样,主要用于接收查询条件。Student为实体类。buildSpec方法为查询方法。

TablePageable类代码如下。

import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.domain.Sort.Order;public class TablePageable{private Integer limit; //分页private Integer offset;//首记录号(从0开始)private String sort;   //排序字段private String order;  //顺序,逆序private Integer page; //分页public Integer getPage() {return page;}public void setPage(Integer page) {this.page = page;}public Integer getLimit() {return limit;}public void setLimit(Integer limit) {this.limit = limit;}public Integer getOffset() {return offset;}public void setOffset(Integer offset) {this.offset = offset;}public String getSort() {return sort;}public void setSort(String sort) {this.sort = sort;}public String getOrder() {return order;}public void setOrder(String order) {this.order = order;}public PageRequest bulidPageRequest() {int page = (offset != null && limit != null) ? offset / limit : 0;int size = limit != null ? limit : 10;if(sort == null) {return PageRequest.of(page, size);}else {Order order2 = new Order(Direction.fromString(order), sort);Sort sort2=Sort.by(order2);return PageRequest.of(page, size, sort2 );}}public PageRequest myBulidPageRequest() {int page = getPage();int size = limit != null ? limit : 10;if(sort == null) {return PageRequest.of(page, size);}else {Order order2 = new Order(Direction.fromString(order), sort);Sort sort2 = Sort.by(order2);return PageRequest.of(page, size, sort2 );}}public PageRequest bulidPageable(Sort sort) {int page = (offset != null && limit != null) ? offset / limit : 0;int size = limit != null ? limit : 10;return PageRequest.of(page, size, sort);}public Sort bulidSort() {Order order2 = new Order(Direction.fromString(order), sort);Sort sort2 = Sort.by(order2);return sort2;}
}

返回的AjaxResult类为返回提示的一个类。bulidPageResult方法,是返回表格所需要的格式数据。代码如下。

import java.util.HashMap;
import org.springframework.data.domain.Page;public class AjaxResult {private Boolean success;private String msg;public Boolean getSuccess() {return success;}public void setSuccess(Boolean success) {this.success = success;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public AjaxResult(String msg) {super();this.success=true;this.msg = msg;}public AjaxResult(Boolean success, String msg) {super();this.success = success;this.msg = msg;}public AjaxResult(boolean success) {this.success=success;}@SuppressWarnings("rawtypes")public static HashMap<String, Object> bulidPageResult(Page page) {HashMap<String, Object> result=new HashMap<>();result.put("total", page.getTotalElements());result.put("rows", page.getContent());return result;}
}

数据源得到了,就可以看到渲染表格的效果了,如图。

单表的基本数据显示是没有问题了,但关联表的数据怎么显示呢。下面来看一下关联表数据的显示。

在渲染表格的JS中的columns属性值中添加如下代码。

{field: 'tbClass',title: '班级',valign: 'middle',halign: 'center',align: 'center',formatter: "tbClassName"
}

formatter属性值对应的是一个方法名,此方法返回需要显示关联表中的数据。

其中参数value表示field对应实体类中的值,row为当前行的数据,index为当前行的索引。因为tbClass为实体类中关联的班级表,索引直接通过value.name就可以得出班级名称。

//班级名称
function tbClassName(value, row, index){return value?value.name: '';
}

效果图如下。

得到数据源的JSON格式数据。

数据显示基本就这些了,下一步就是对数据进行操作了(增删改查)

定义操作按钮,代码如下。

<div id="toolbar" class="btn-group"><button type="button" class="btn btn-default" onclick="add()"><span class="glyphicon glyphicon-plus"></span>新增</button><button type="button" class="btn btn-default" onclick="edit()"><span class="glyphicon glyphicon-pencil"></span>修改</button><button type="button" class="btn btn-default" onclick="del()"><span class="glyphicon glyphicon-remove"></span>删除</button>
</div>

在渲染表格的JS中通过toolbar属性和和表格绑定,显示在表格的左上角位置。toolbar的属性值为选中操作按钮的DOM元素。toolbar: '#toolbar'

效果如下。

功能实现

新增add()方法,新增一个modal弹框,用JQ插入到body中,弹框中显示新增页面,弹框关闭时把弹框删除。代码如下。

//新增
function add(){var dialog = $('<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel"></div>');dialog.load("student/edit");$("body").append(dialog);/*弹出模态框,绑定关闭后的事件*/dialog.modal().on('hidden.bs.modal', function () {//删除dialog.remove();});
}

student/edit请求新增页面的方法,新增和修改后台用的一个方法,id为null,是新增,不为null为修改,根据传递的id查询需要修改的对象,之后把对象数据传递到前台。代码如下。

@RequestMapping(value="/edit")
public void edit(StudentForm form, ModelMap map) throws InstantiationException, IllegalAccessException {//把所有班级查询出来传递到前台map.put("tbClass", tbClassService.findAll());Student model = new Student();Integer id = form.getId();if (id != null) {model = studentService.findById(id);}map.put("model", model);
}

新增和修改页面也是共用的一个,减少代码的重复性。edit.thml为新增和修改页面。代码如下。

<form id="myForm" class="form-horizontal" role="form" ><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button><h4 class="modal-title">学生管理</h4></div><div class="modal-body"><input type="hidden" name="id" data-th-value="${model.id}"><div class="form-group"><label class="col-sm-3 control-label">姓名:</label><div class="col-sm-8"><input type="text" name="name" data-th-value="${model.name}" class="form-control" placeholder="姓名"></div></div><div class="form-group"><label class="col-sm-3 control-label">用户名:</label><div class="col-sm-8"><input type="text" name="username" data-th-value="${model.username}" class="form-control" placeholder="用户名"></div></div><div class="form-group"><label class="col-sm-3 control-label">选择班级:</label><div class="col-sm-8"><select class="form-control" name="tbClass"><option th:each="c:${tbClass}" th:value="${c.id}" th:text="${c.name}" th:selected="${model.tbClass != null && c.id == model.tbClass.id}" >班级名称</option></select></div></div></div><div class="modal-footer"><button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-ok"></span> 确定</button><button type="button" class="btn btn-danger" data-dismiss="modal"><span class="glyphicon glyphicon-remove"></span> 关闭</button></div></div></div>
</form><script type="text/javascript">var options = {message: '验证不通过',feedbackIcons: {valid: 'glyphicon glyphicon-ok',invalid: 'glyphicon glyphicon-remove',validating: 'glyphicon glyphicon-refresh'},fields: {name: {validators: {notEmpty: {message: '班级名称不能为空'}}},username: {validators: {notEmpty: {message: '用户名不能为空'}}}}};$("#myForm").bootstrapValidator(options).on("success.form.bv", function(e){e.preventDefault();    	//很重要没有它则会提交默认表单,不会做下面的ajax表单提交var form= new FormData($("#myForm")[0]);$.ajax({url: 'student/save',type: 'post',data: form,processData: false,  //不处理数据contentType: false,		//不设置内容类型success: function(result){if(result.success){$("#myModal").modal("hide");bootbox.alert(result.msg);$("#stu_table").bootstrapTable("refresh");}else{bootbox.alert(result.msg);}},error: function(result){bootbox.alert("数据保存失败!");}})})
</script>

其中options为字段不为空的效验,采用的是BootstrapValidator验证。

提交数据保存后,保存成功就关闭弹框,刷新表格给出提示信息。

student/save后台保存数据方法,新增的保存方法也是和修改保存的方法共用的一个^_^。

@RequestMapping(value="/save")
@ResponseBody
public Object save(StudentForm form) throws InstantiationException, IllegalAccessException {try {Student model = new Student();Integer id = form.getId();if(id!=null) {model = studentService.findById(id);}//把form中的数据copy到model中,除id以外。form和model中的字段一样BeanUtils.copyProperties(form, model,"id");studentService.save(model);return new AjaxResult("数据保存成功");} catch (Exception e) {return new AjaxResult(false,"数据保存失败");}
}

返回的AjaxResult类是一个返回提示类,返回统一规范了一下。可以根据自己需求返回内容。AjaxResult代码如下。

import java.util.HashMap;
import org.springframework.data.domain.Page;public class AjaxResult {private Boolean success;private String msg;public Boolean getSuccess() {return success;}public void setSuccess(Boolean success) {this.success = success;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public AjaxResult(String msg) {super();this.success=true;this.msg = msg;}public AjaxResult(Boolean success, String msg) {super();this.success = success;this.msg = msg;}public AjaxResult(boolean success) {this.success=success;}@SuppressWarnings("rawtypes")public static HashMap<String, Object> bulidPageResult(Page page) {HashMap<String, Object> result=new HashMap<>();result.put("total", page.getTotalElements());result.put("rows", page.getContent());return result;}
}

修改edit()方法。和新增方法一样,请求修改页面时,需要带上需要修改行的id,其他后台方法和前台页面都是和新增共用的。

通过$("#stu_table").bootstrapTable('getSelections');获取到选中的行。

//修改
function edit(){var str = $("#stu_table").bootstrapTable('getSelections');if(str.length != 1){bootbox.alert("请选中一行进行编辑");return ;}var dialog = $('<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel"></div>');var id = str[0].id;dialog.load("student/edit?id="+id);/*添加到body中*/$("body").append(dialog);/*弹出模态框,绑定关闭后的事件*/dialog.modal().on('hidden.bs.modal', function () {//删除模态框dialog.remove();$("#stu_table").bootstrapTable('refresh');});
}

新增和修改效果图。

修改。

最后一个就是删除了,也是最简单的。

如果是单个删除的话就直接把选中的id传递到后台,根据id删除即可。如果是批量删除,可以把选中行的id拼接起来传递到后台,后天拆分后依次删除。

前台删除JS方法(这里是批量删除)

/*删除*/
function del(){var str = $("#stu_table").bootstrapTable('getSelections');if(str.length < 1){bootbox.alert("请选中行进行删除");}else{bootbox.confirm("确定删除选中的"+str.length+"行数据吗?", function(result){if(result){var ids = "";for(i = 0; i < str.length; i++){ids += str[i].id+",";}if(ids.length > 0){ids = ids.substring(0, ids.length-1);}$.post('student/delete1',{id : ids},function(result){/* refresh刷新 */$("#stu_table").bootstrapTable('refresh');bootbox.alert('<h4>'+result.msg+'</h4>');});}});}
}

后台对应的删除方法。

@RequestMapping(value = "delete1")
@ResponseBody
public Object delete(String id) {try {String[] split = id.split(",");for (int i = 0; i < split.length; i++) {studentService.deleteById(Integer.parseInt(split[i]));}return new AjaxResult("数据删除成功");} catch (Exception e) {return new AjaxResult(false, "数据删除失败");}
}

效果图。

除了在表格上方定义按钮对表格进行操作外,还可以在表格中定义操作按钮对表格进行操作。

在渲染表格的JS中的columns属性值中添加如下代码。在表格中添加操作按钮。

{field: 'operation',title: '操作',valign: 'middle',halign: 'center',align: 'center',events: 'operateEvents',  //给按钮注册事件formatter: 'addFunctionAlty' //表格中增加按钮
}

addFunctionAlty方法为按钮样式,在表格中显示的样式。

//表格中按钮样式
function addFunctionAlty(value, row, index) {return ['<button id="update" type="button" class="btn btn-default">修改</button>','<button id="del" type="button" class="btn btn-default">删除</button>',].join('');
}

监听表格中按钮的点击事件,通过按钮的id进行对应的按钮监听。

//监听表格中按钮的点击事件
window.operateEvents = {//修改"click #update":function(ev,value,row,index){var dialog = $('<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel"></div>');var id = row.id;dialog.load("student/edit?id="+id);/*添加到body中*/$("body").append(dialog);/*弹出模态框,绑定关闭后的事件*/dialog.modal().on('hidden.bs.modal', function () {//删除模态框dialog.remove();$("#stu_table").bootstrapTable('refresh');});},"click #del":function(ev,value,row,index){     //删除bootbox.confirm("确定删除当前行数据吗?", function(result){if(result){$.post('student/delete1',{id : row.id},function(result){/* refresh刷新 */$("#stu_table").bootstrapTable('refresh');bootbox.alert('<h4>'+result.msg+'</h4>');});}});}
};

效果图如下,实现了修改和删除功能。

自定义的新增,修改和删除功能都实现了,下面就剩下查询功能了。BootStrapTable右上角是自带的有一个查询框的,我们可以直接用,在后台写上对应的查询方法即可。

前台需要在渲染表格时,queryParams属性需要传递search参数,BootStrapTable指定的查询参数名。即:

后台请求数据的page方法中已经写了查询的方法,只需要在那个方法中添加查询条件即可。在StudentForm中需要添加一个search字段,用于接收传递过来的参数值。查询方法代码如下。search不为空,就进行模糊查询,为空就不查询。

public Specification<Student> buildSpec(StudentForm form) {Specification<Student> specification = new Specification<Student>() {private static final long serialVersionUID = 1L;@Overridepublic Predicate toPredicate(Root<Student> root, CriteriaQuery<?> query, CriteriaBuilder cb) {HashSet<Predicate> rules = new HashSet<>();if (StringUtils.hasText(form.getSearch())) {Predicate name2 = cb.like(root.get("name"), "%" + form.getSearch() + "%");Predicate username2 = cb.like(root.get("username"), "%" + form.getSearch() + "%");Predicate or = cb.or(name2, username2);rules.add(or);}return cb.and(rules.toArray(new Predicate[rules.size()]));}};return specification;
}

效果图如下。

写到这里,肯定有些小伙伴就要说如果我想自定义查询可不可以呢!答案当然是可以的。下面来看一下自定义查询。

自定义查询可以把查询框用弹框显示,和新增一样,可以在表格上方显示(根据项目需求而定)。

这里是在表格上方定义的查询,样式自己随便写了一下。代码如下。

<style type="text/css">#queryForm .form-group {margin-bottom: 0px;}#queryForm{background: #F6F6F6;padding: 15px 0px;border-radius: 10px;margin-bottom: 10px;}
</style><form id="queryForm" class="form-horizontal col-sm-12" role="form" ><div class="form-group col-sm-4"><label class="col-sm-3 control-label">姓名:</label><div class="col-sm-9"><input type="text" name="name" class="form-control" placeholder="姓名"></div></div><div class="form-group col-sm-4"><label class="col-sm-3 control-label">学号:</label><div class="col-sm-9"><input type="text" name="username" class="form-control" placeholder="学号"></div></div><div class="form-group col-sm-2 btn-group"><button type="button" class="btn btn-primary" onclick="findSearch()"><span class="glyphicon glyphicon-search" aria-hidden="true"></span>&nbsp;查询</button><button type="button" class="btn btn-default" onclick="findEmpty()"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span>&nbsp;清空</button></div>
</form>

效果如下。

查询和条件同样在queryParams属性中添加,查询时只需刷新表格就可以了,清空时,只需要把查询的form表单清空即可。

查询条件参数。

查询和清空的JS方法。

//查询
function findSearch() {$("#stu_table").bootstrapTable('refresh');
}//清空查询
function findEmpty() {$('#queryForm')[0].reset();$("#stu_table").bootstrapTable('refresh');
}

后台查询方法,在原有的方法上在添加两个查询条件即可,代码如下。

@Override
public Specification<Student> buildSpec(StudentForm form) {Specification<Student> specification = new Specification<Student>() {private static final long serialVersionUID = 1L;@Overridepublic Predicate toPredicate(Root<Student> root, CriteriaQuery<?> query, CriteriaBuilder cb) {HashSet<Predicate> rules = new HashSet<>();if (StringUtils.hasText(form.getName())) {Predicate name = cb.like(root.get("name"), "%" + form.getName() + "%");rules.add(name);}if (StringUtils.hasText(form.getTeahcerName())) {Predicate code = cb.like(root.get("tbClass").get("name"), "%" + form.getTeahcerName() + "%");rules.add(code);}if (StringUtils.hasText(form.getSearch())) {Predicate name2 = cb.like(root.get("name"), "%" + form.getSearch() + "%");Predicate username2 = cb.like(root.get("username"), "%" + form.getSearch() + "%");Predicate or = cb.or(name2, username2);rules.add(or);}return cb.and(rules.toArray(new Predicate[rules.size()]));}};return specification;
}

因为页面代码上面贴出来的比较零乱,下面是页面全部代码。

<meta charset="UTF-8"><style type="text/css">#queryForm .form-group {margin-bottom: 0px;}#queryForm{background: #F6F6F6;padding: 15px 0px;border-radius: 10px;margin-bottom: 10px;}
</style><form id="queryForm" class="form-horizontal col-sm-12" role="form" ><div class="form-group col-sm-4"><label class="col-sm-3 control-label">姓名:</label><div class="col-sm-9"><input type="text" name="name" class="form-control" placeholder="姓名"></div></div><div class="form-group col-sm-4"><label class="col-sm-3 control-label">学号:</label><div class="col-sm-9"><input type="text" name="username" class="form-control" placeholder="学号"></div></div><div class="form-group col-sm-2 btn-group"><button type="button" class="btn btn-primary" onclick="findSearch()"><span class="glyphicon glyphicon-search" aria-hidden="true"></span>&nbsp;查询</button><button type="button" class="btn btn-default" onclick="findEmpty()"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span>&nbsp;清空</button></div>
</form><table id="stu_table"></table><!-- 增删改 -->
<div id="toolbar" class="btn-group"><button type="button" class="btn btn-default" onclick="add()"><span class="glyphicon glyphicon-plus"></span>新增</button><button type="button" class="btn btn-default" onclick="edit()"><span class="glyphicon glyphicon-pencil"></span>修改</button><button type="button" class="btn btn-default" onclick="del()"><span class="glyphicon glyphicon-remove"></span>删除</button>
</div><script type="text/javascript">$("#stu_table").bootstrapTable({url: 'student/page',    //表格数据请求地址toolbar: '#toolbar',    //自定义组件striped: true,	//隔行换色sortName: 'id',   //定义那一列可以排序sortOrder: 'desc',	//排序方式height: tableHeight(),		//设置高度pagination: true,	//显示表格的底部工具栏sidePagination: 'server',   //client客户端分页,server服务器分页pageNumber: 1,		//初始的页数pageSize: 10,		//默认每页数据pageList: [10, 15, 50, 100],	//设置分页选择每页显示的条数search: true,		//定义右上方的搜索框,输入即可以开始搜索showColumns: true,	//选列的下拉菜单showRefresh: true,	//刷新按钮showToggle: true,	//视图切换toolbarAlign: 'left',	//自定义按钮位置clickToSelect: true,	//点击行选中//singleSelect: true,		//单选queryParams: function (param){	//传递参数var params = $('#queryForm').serializeObject();params.limit = param.limit;params.offset = param.offset;params.search = param.search;params.sort = param.sort;params.order=param.order;return params;},columns:[{checkbox: true    //多选框},{field: 'id',	//每列的字段名title: 'id',	//表头所显示的名字halign: 'center',	//表头的对齐方式valign: 'middle',	//表格对齐方式居中order: 'asc',		//默认排序方式sortable: true,		//设置可以排序align: 'center'		//表格数据对齐方式},{field: 'name',title: '姓名',valign: 'middle',halign: 'center',align: 'center'},{field: 'username',title: '用户名',valign: 'middle',halign: 'center',align: 'center'},{field: 'tbClass',title: '班级',valign: 'middle',halign: 'center',align: 'center',formatter: "tbClassName"},{field: 'operation',title: '操作',valign: 'middle',halign: 'center',align: 'center',events: 'operateEvents',  //给按钮注册事件formatter: 'addFunctionAlty' //表格中增加按钮}]});//表格中按钮样式function addFunctionAlty(value, row, index) {return ['<button id="update" type="button" class="btn btn-default">修改</button>','<button id="del" type="button" class="btn btn-default">删除</button>',].join('');}//监听表格中按钮的点击事件window.operateEvents = {//修改"click #update":function(ev,value,row,index){var dialog = $('<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel"></div>');var id = row.id;dialog.load("student/edit?id="+id);/*添加到body中*/$("body").append(dialog);/*弹出模态框,绑定关闭后的事件*/dialog.modal().on('hidden.bs.modal', function () {//删除模态框dialog.remove();$("#stu_table").bootstrapTable('refresh');});},"click #del":function(ev,value,row,index){     //删除bootbox.confirm("确定删除当前行数据吗?", function(result){if(result){$.post('student/delete1',{id : row.id},function(result){/* refresh刷新 */$("#stu_table").bootstrapTable('refresh');bootbox.alert('<h4>'+result.msg+'</h4>');});}});}};//班级名称function tbClassName(value, row, index){return value?value.name: '';}//设置表格高度function tableHeight() {return $(window).height() - 100;}//新增function add(){var dialog = $('<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel"></div>');dialog.load("student/edit");$("body").append(dialog);/*弹出模态框,绑定关闭后的事件*/dialog.modal().on('hidden.bs.modal', function () {//删除dialog.remove();});}//修改function edit(){var str = $("#stu_table").bootstrapTable('getSelections');if(str.length != 1){bootbox.alert("请选中一行进行编辑");return ;}var dialog = $('<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel"></div>');var id = str[0].id;dialog.load("student/edit?id="+id);/*添加到body中*/$("body").append(dialog);/*弹出模态框,绑定关闭后的事件*/dialog.modal().on('hidden.bs.modal', function () {//删除模态框dialog.remove();$("#stu_table").bootstrapTable('refresh');});}/*删除*/function del(){var str = $("#stu_table").bootstrapTable('getSelections');if(str.length < 1){bootbox.alert("请选中行进行删除");}else{bootbox.confirm("确定删除选中的"+str.length+"行数据吗?", function(result){if(result){var ids = "";for(i = 0; i < str.length; i++){ids += str[i].id+",";}if(ids.length > 0){ids = ids.substring(0, ids.length-1);}$.post('student/delete1',{id : ids},function(result){/* refresh刷新 */$("#stu_table").bootstrapTable('refresh');bootbox.alert('<h4>'+result.msg+'</h4>');});}});}}//查询function findSearch() {$("#stu_table").bootstrapTable('refresh');}//清空查询function findEmpty() {$('#queryForm')[0].reset();$("#stu_table").bootstrapTable('refresh');}
</script>

到这里,BootstrapTable数据表格的使用已经很全面了。不足地方欢迎大家下方留言指出!

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Asp.net 无法启动IIS Express 解决办法

    问题描述: Asp.net项目 , IIS Express 无法启动。项目拷贝给同事后,点击运行,浏览器显示网页无法访问。可能原因:一 、其他项目都可以,就这么一个不行 二、Git 冲突引起 三、安装Visual Sutudil 2015 Update 3后调试项目出现问题“无法启动iis express web 服务器” 四、…...

    2024/4/20 1:01:51
  2. 武林秘籍――《骂人宝典》

    武林秘籍――《骂人宝典》 2012年01月12日    我们都是文明人,不要随便骂人,更不能象泼妇一样,叉着腰,一嘴脏话。但是有些人不骂不行。怎么办?请看骂人的最高境界:骂人不带脏字。   你是    进化不完全的生命体,基因突变的外星人,    幼稚园程度的高中生…...

    2024/4/19 15:51:51
  3. Blueprint入门之一

    Blueprint是OSGI的一个规范,它来源于spring dm.目前主要有aries和gemini两套实现,本文以aries的实现为基础。大致来说Blueprint是一个OSGI的IOC规范。对于熟悉spring的朋友来说,应该会十分容易上手。 Blueprint也是以xml文档来构建应用,但它也有采用Annotation的方式,我们在…...

    2024/4/17 15:34:44
  4. js事件小结(一般事件)

    (一)事件 浏览器支持 描述onClick HTML: 2|3|3.2|4Browser: IE3|N2|O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick HTML: 2|3|3.2|4Browser:IE4|N4|O 鼠标双击事件onMouseDown HTML: 2|3|3.2|4Browser:IE4|N4|O 鼠标上的按钮被按…...

    2024/4/17 15:33:19
  5. C语言_学生信息管理系统项目心得

    标题@## C语言_学生信息管理系统项目(文件版)心得 简介:初步实现学生信息的增删改查功能,并将对学生数据的操作结果同步到txt文档。先上一波图看效果:修改学生信息界面思路: 先实现控制台部分的增删改查功能代码,然后在次基础上添加关联文件读写模块代码。 通过字符串及…...

    2024/4/17 15:34:31
  6. IIS 部署网站无法正常加载资源文件问题

    解决IIS网站部署无法加载资源文件(css、js、图片文件),如下图:勾选 >静态内容<选项...

    2024/5/1 23:50:43
  7. jqgrid 表格插件 设置点击当前行,不默认勾选checkbox

    1、jqgrid 设置点击当前行,不默认勾选checkbox。 beforeSelectRow: function (rowid, e) {var $myGrid = $(this),i = $.jgrid.getCellIndex($(e.target).closest(td)[0]),cm = $myGrid.jqGrid(getGridParam, colModel);return (cm[i].name === cb); }...

    2024/4/17 15:34:43
  8. 经典的损人的话  (不带一个脏字,够狠毒)

    你这个进化不完全的生命体  基因突变的外星人  幼稚园程度的高中生  先天蒙古症的青蛙头圣母峰雪人的弃婴      化粪池堵塞的凶手  非洲人搞上黑猪的后裔  阴阳失调的黑猩猩被诺亚方舟压过的河马    新火山喷发口    超大无耻传声扩音喇叭  爱斯基摩…...

    2024/4/17 15:33:32
  9. JQuery------鼠标双击时,不选中div里面的文字

    如图:(去掉选中文字的蓝色背景色)代码://方法一:<div class="test" onselectstart="return false" >文字</div> //方法二: .test{-moz-user-select:none;-webkit-user-select: none; -ms-user-select: none; }...

    2024/4/17 15:34:19
  10. 骂人不带脏字的80后

    A、巴黎圣母院少个敲钟的,就你了。 B、思想有多远,你就滚多远;光速有多快,你就滚多快。 C、你一出门,千山鸟飞绝,万径人踪灭。 D、你哪家学校毕业的啊?你讨人厌的学位都修到博士后了!! E、想咬你一口,可惜我是回民。 F、天下之大,大不过你缺的那块心眼。 G、你出生时…...

    2024/4/20 5:06:50
  11. Camel-blueprint

    在camel路由时,使用blueprint属性占位器。 camel支持blueprint,blueprint提供属性占位器服务。 camel支持“覆盖配置”公约,所以我们得在xml文档中定义blueprint属性占位器。 样例: <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi…...

    2024/4/17 15:34:37
  12. Confluence 6 管理插件和组件

    一个 组件(add-on)是与 Confluence 分开安装的功能,能够加强 Confluence 的功能和使用。插件(plugin)和 组件(add-on)这 2 个词通常是一起使用的。一共有 2 个主要类型的组件:系统级别的组件 - 这个类型的组件为 Confluence 系统提供核心的功能用户安装的组件 - 这个类…...

    2024/4/27 10:14:31
  13. 我的又一个很有意思的phprpc for java的例子

    它的效果是这样的: 双击文本"click here",触发select的ondblclick事件,该区域变为一个下拉列表框,并利用phprpc动态读出数据库中的所有用户;然后选择其中的一项,触发select的onchang事件,从数据库中读出该用户名,下拉列表消失,该文本区域显示选中的用户名.当然还有一…...

    2024/4/19 23:39:25
  14. IIS 无法启动:Unexpected Error 0x8ffe2740 Occurred 错误号0x8ffe2740 的原因

    今天本来好好的,准备开始写点WebService应用程序,结果出错,好像是我的IIS不运行了,所有网站都被停止了,现象是:发生意外错误0x8ffe2740原因如果系统中存在端口冲突就有可能发生本情况. IIS默认使用80端口进行HTTP通信. 如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用…...

    2024/4/20 7:23:21
  15. Celery源码分析(五)----------Consumer的Blueprint

    紧接着上一篇教程,接着分析Consumer的Blueprint的流程。 由于Consumer步骤的create方法将创建的celery.worker.consumer::Consumer对象返回了,所以Worker的Blueprint在start的时候,会调用create方法返回的对象的start方法。 celery/worker/consumer.py:def start(self):blue…...

    2024/4/17 15:34:19
  16. python实现表格控件

    “”" -- coding:utf-8 -- author:YY设计 datetime: 2019/9/22 9:55 software: PyCharm 学习交流qq群:916696436 “”" import tkinter from tkinter import ttk win = tkinter.Tk() win.title(‘gui’) win.geometry(‘600x400+200+20’) #表格 tree = ttk.Treev…...

    2024/4/18 16:35:30
  17. 高手 骂人不带脏字

    最佳答案10倍石油浓度的沉积原料,被毁容的麦当劳叔叔, 像你这种可恶的家伙 只能演电视剧里的一陀粪, 比不上路边被狗过洒尿的口香糖, 连如花都美你10倍以上, 找女朋友得去动物园甚至要离开地球, 想要自杀只会有人劝你不要留下?体以免污染环境, 你摸过的键盘上连阿米吧原…...

    2024/4/28 7:44:32
  18. JS动态生成表单,并添加行双击事件

    第一步:jsp上定义表格的div <div class="ted_1 luru_5" align="center"> <tableid="inpltable"border="0" width="100%" cellspacing="1" cellpadding="0" bgcolor="#000000" clas…...

    2024/4/28 19:30:51
  19. IIS突然停止,无法启动 启动提示“服务没有及时响应启动或控制请求”

    iis问题描述:“IIS突然停止,无法启动 启动提示“服务没有及时响应启动或控制请求”World Wide Web Publishing也无法启动启动提示“错误:127找不到指定的程序” 补丁也没有这个KB939373”我的解决办法: 1、打开360安全卫士 2 切换到“修复漏洞”选项卡。 3 点击右上角的“补…...

    2024/4/28 7:17:53
  20. 推荐几款JS表格控件

    汇总12款Javascript表格控件(DataGrid)Angular实现主要参见Top 10 AngularJS Table Demos,主要有ng-table github–ng-table Configuring your table with ngTableParams:ng-table的各项参数说明 Tutorial: Basic DataTable with AngularJS and ng-Table AngularJS ngTable …...

    2024/4/28 0:09:08

最新文章

  1. mysql定时执行语句

    一、前提 #确保事件调度为开放(ON) SHOW VARIABLES LIKE event_scheduler;二、场景 1、创建test01 表&#xff0c;表中存储1000条数据&#xff1b; 2、创建空表test02&#xff0c;表结构与 test01相同&#xff1b; 3、将test01中的数据以每分钟10条的形式转移到test02中去三、…...

    2024/5/2 0:01:02
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. milvus search api的数据结构

    search api的数据结构 此api的功能是向量相似度搜索(vector similarity search) 一个完整的search例子: 服务端collection是一个hnsw类型的索引。 import random from pymilvus import (connections,Collection, )dim 128if __name__ __main__:connections.connect(alias…...

    2024/5/1 10:01:14
  4. 在 Visual Studio Code (VSCode) 中隐藏以 . 开头的文件

    打开VSCode。 按下Ctrl ,快捷键打开设置。您也可以点击屏幕左下角的齿轮图标&#xff0c;然后选择“Settings”。 在设置搜索框中&#xff0c;键入files.exclude。 在找到的Files: Exclude项中&#xff0c;点击Add Pattern按钮来添加一个新的模式&#xff0c;或者直接在搜索…...

    2024/4/29 19:58:39
  5. 最新AI智能系统ChatGPT网站源码V6.3版本,GPTs、AI绘画、AI换脸、垫图混图+(SparkAi系统搭建部署教程文档)

    一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…...

    2024/5/1 9:27:34
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57