DataTables如何重新加载数据

DataTables加载数据

// 调用ajax请求数据
g.ajax("/srp/data", data, function (jsonStr) {
    // setValue为table的tbody动态生成tr,并渲染数据
	setValue(JSON.parse(jsonStr));
	// 初始化DataTables
	var table = $('#datatable-buttons8').DataTable({
        // DataTables的配置属性:http://www.datatables.club/reference/option/
		lengthChange: false,
		buttons:  ['copy', 'excel', 'pdf']
	});
	table.buttons().container()
		.appendTo('#datatable-buttons8_wrapper .col-md-6:eq(0)');
}, null, null);

DataTables重新加载新数据

// 再次调用ajax请求新数据
g.ajax("/srp/data", data, function (jsonStr) {
    // 清空DataTables数据
    $("#datatable-buttons8").dataTable().fnClearTable();
    // 销毁旧的DataTables对象,以便初始化新的DataTables
	$("#datatable-buttons8").dataTable().fnDestroy();
    // 动态生成tr,并渲染数据
	setValue(JSON.parse(jsonStr));
	// 照常初始化DataTables
	var table = $('#datatable-buttons8').DataTable({
        // DataTables的配置属性:http://www.datatables.club/reference/option/
		lengthChange: false,
		buttons:  ['copy', 'excel', 'pdf']
	});
	table.buttons().container()
		.appendTo('#datatable-buttons8_wrapper .col-md-6:eq(0)');
}, null, null);

附上动态生成tr的代码:

// setValue根据clsName的不同进入setTableValue
function setTableValue(clsName, jsonStr) {
	var table = $("." + clsName + " tbody");
    // 在此之前可以清空所有旧的tr
	table.empty();
	var data = jsonStr[clsName];
	for (var i = 0; i < data.length; i++) {
		// 生成tr
		var $trTemp = $("<tr></tr>");
		var obj = data[i];
		var keys = Object.keys(obj);
		var attrCount = keys.length;
		for (var j = 0; j < attrCount; j++) {
			// 生成td
			$trTemp.append("<td>"+ obj[keys[j]] +"</td>");
		}
		$trTemp.appendTo(table);
	}
}

DataTables更多属性介绍:

http://www.datatables.club/reference/option/

https://www.cnblogs.com/xiashengwang/p/8087181.html

DataTables国际化示例:

https://blog.csdn.net/qq_22690445/article/details/79682311

转载于:https://www.cnblogs.com/songzehao/p/10854259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现Datatables添加新增数据和修改数据弹框,可以使用Datatables提供的Editor插件。以下是实现的步骤: 1. 引入Editor插件和相关依赖的CSS和JS文件。 2. 初始化Datatables表格 ``` var table = $('#example').DataTable({ ajax: 'data.json', columns: [ { data: 'id' }, { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'salary' } ] }); ``` 3. 初始化Editor插件 ``` var editor = new $.fn.dataTable.Editor( { ajax: 'example.php', table: '#example', fields: [ { label: 'ID:', name: 'id' }, { label: 'Name:', name: 'name' }, { label: 'Position:', name: 'position' }, { label: 'Office:', name: 'office' }, { label: 'Salary:', name: 'salary' } ] } ); ``` 4. 添加按钮触发弹框 ``` $('#add').on('click', function () { editor.create( { title: 'Add new record', buttons: 'Add' } ); } ); ``` 5. 修改数据触发弹框 ``` $('#example').on('click', 'tbody td:not(:first-child)', function (e) { editor.inline( this ); } ); ``` 6. 实现数据交互的Java后端代码 在Java后端,可以使用Spring MVC框架来处理前端提交的数据。对于新增数据,可以使用`@PostMapping`注解来处理POST请求,然后将提交的数据解析成Java对象,再将数据保存到数据库中。 对于修改数据,可以使用`@PutMapping`注解来处理PUT请求,然后根据提交的ID查询数据库中对应的数据,更新数据后保存到数据库中。 参考代码如下: ``` @PostMapping("/add") @ResponseBody public String addData(@RequestBody Data data) { // 保存数据数据库 return "success"; } @PutMapping("/update") @ResponseBody public String updateData(@RequestBody Data data) { // 更新数据数据库 return "success"; } ``` 以上是实现Datatables添加新增数据和修改数据弹框,并与Java后端实现数据交互的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值