写出一个使用easyui 的,有着datagrid表格的,有合计行的,有复选框的,合计行可以根据随时点击勾选或取消的数据条而随时改变
时间: 2024-05-16 18:17:21 浏览: 140
以下是一个符合要求的示例代码:
HTML:
```
<table id="dg" class="easyui-datagrid" style="width:100%;height:500px"
data-options="
url: 'datagrid_data.json',
fitColumns: true,
rownumbers: true,
singleSelect: false,
checkOnSelect: true,
selectOnCheck: true,
pagination: true,
pageSize: 10,
pageList: [10,20,30],
remoteSort: false,
showFooter: true,
onLoadSuccess: function(data){
$('#dg').datagrid('reloadFooter');
},
onCheck: function(rowIndex,rowData){
updateFooter();
},
onUncheck: function(rowIndex,rowData){
updateFooter();
},
onCheckAll: function(rows){
updateFooter();
},
onUncheckAll: function(rows){
updateFooter();
}
">
<thead>
<tr>
<th field="id" checkbox="true"></th>
<th field="name" width="50">Name</th>
<th field="gender" width="50">Gender</th>
<th field="age" width="50">Age</th>
<th field="salary" width="50">Salary</th>
</tr>
</thead>
</table>
```
JavaScript:
```
function updateFooter(){
var rows = $('#dg').datagrid('getChecked');
var totalSalary = 0;
for(var i=0; i<rows.length; i++){
totalSalary += rows[i].salary;
}
var footer = $('#dg').datagrid('getFooterRows')[0];
footer.salary = totalSalary;
$('#dg').datagrid('reloadFooter');
}
$(document).ready(function(){
$('#dg').datagrid({
columns:[[
{field:'id',checkbox:true},
{field:'name',title:'Name',width:100},
{field:'gender',title:'Gender',width:100},
{field:'age',title:'Age',width:100},
{field:'salary',title:'Salary',width:100,align:'right',
formatter:function(value,rowData,rowIndex){
return '$'+value;
}
}
]],
onLoadSuccess:function(data){
updateFooter();
}
});
});
```
说明:
1. 在 HTML 中,我们使用了 easyui-datagrid 的组件,并在其中设置了各种选项,包括 url、fitColumns、rownumbers、singleSelect、checkOnSelect、selectOnCheck、pagination、pageSize、pageList、remoteSort 和 showFooter 等;
2. 在 JavaScript 中,我们定义了 updateFooter() 函数,用于更新表格的合计行;
3. 在 $(document).ready() 中,我们初始化了 easyui-datagrid,并在 onLoadSuccess 事件中调用了 updateFooter() 函数;
4. 当用户在表格中勾选或取消勾选某些数据行时,我们调用 updateFooter() 函数更新表格的合计行。
阅读全文