dataGrid用法(完整的一个表格操作)
2018-01-26 本文已影响0人
皮卡乒乓
直接上代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="../lib/jqueryEasyui/jeasyui.js"></script>
<style>
#panel{width: 600px;height: 400px;}
</style>
</head>
<body>
<button onclick="dataG.getSelected()">获取点中的行(select,只可能是一个)</button>
<button onclick="dataG.getChecked()">获取√中的行(checked)</button>
<div class="easyui-panel" id="panel">
<table id="dg">
</table>
</div>
</body>
<script>
var dataG = {};
$(function(){
dataG.initDataGrid();
dataG.loadData(1,10,"");
})
//初始化表格
dataG.initDataGrid = function(){
$("#dg").datagrid({
title:"信息列表",
rownumbers:true,
//当singleSelect为false时候,则可以多选,但会和getSelected混淆,所以,删除,编辑,等操作,放在行内更合适些
singleSelect:false,
autoRowHeight:false,
striped:true,
nowrap:false,
fit:true,
remoteSort:false,
fit:true,
toolbar:'#toolbar',
pagination:true,
loadMsg:"正在加载数据,请稍候……",
columns:[[
{field:'op',title:'操作',width:40,align:'center',checkbox:"true"},
{field:'ops',title:'操作',width:200,align:'center',formatter:function(value,row,index){
return '<button onclick="dataG.UpdateRow(\''+index+'\',\''+row.code+'\',event)">更新</button><button class="seaRow" onclick="dataG.seaRow(\''+row.code+'\',\''+row.name+'\',event)">查看</button><button class="" onclick="dataG.delRow(\''+row.code+'\',\''+index+'\',event)">删除</button>'
}},
{field:'name',title:'name',width:'180',align:"center"}
]],
onClickRow:function(index, row){
dataG.clickRowsDoThing(index,row);
},
onLoadSuccess:function(data){
dataG.loadSuccessDoThing(data);
}
});
//分页
var p = $('#dg').datagrid('getPager');
$(p).pagination({
url:'../json/api?apikey=videoGroupSearch',
pageSize: 10,
pageList: [10],
beforePageText: '第',
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
onSelectPage:function(pageNumber, pageSize){
dataG.loadData(pageNumber,pageSize,"");
}
});
}
// 初始化数据
dataG.loadData = function(page,rows,key){
var pageurl = "../json/api?apikey=videoGroupSearch&page="+page+"&rows="+rows+"&key="+key;
$("#dg").datagrid("loading");
$.ajax({
url:pageurl,
dataType:"json",
success:function(json){
dataG.loadDataCallback(json);
}
})
}
//获取数据后的回调
dataG.loadDataCallback = function(json){
$("#dg").datagrid("loaded");
if(json.code==0){
//分页用
var data = {};
data.total = json.count;
data.rows = json.data;
var count = data.length;
$("#count").html(count);
$("#dg").datagrid("loadData",data);
}else{
alert("error");
}
}
//加载完成后要干的事
dataG.loadSuccessDoThing = function(data){
$("#dg").datagrid("selectRow",0); //默认选中第一行
//等等。。。。。。。
}
//选中某行要干的事情,index为改行的索引,row为该行的对象
dataG.clickRowsDoThing = function(index,row){
//等等。。。。。。。
}
//获取选中的行
dataG.getSelectRow = function(){
return( $("#dg").datagrid("getSelected") );
}
//获取√选中的行
dataG.getCheckedRow = function(){
return( $("#dg").datagrid("getChecked") );
}
//获取选中的行对象,可进行任意操作
dataG.getSelected = function(){
var selectRow = dataG.getSelectRow();
console.log(selectRow);
}
//获得有√的行,返回的是一个数组,里面是每一行的对象
dataG.getChecked = function (){
var checkedRow = dataG.getCheckedRow();
console.log(checkedRow);
}
//更新某一行
dataG.UpdateRow = function(index,rowId,event){
event.stopPropagation();
console.log(index+",,,,,,,"+rowId);
$('#dg').datagrid('updateRow',{
index: index,
row: {
/* name: 'jwl',
age: '10' */
}
});
}
//根据某一行的ID,删除一行
dataG.delRow = function(rowId, rowIndex,event){
event.stopPropagation();
console.log(rowId);
$('#dg').datagrid('deleteRow', rowIndex);
//再重新渲染,防止删除这一行后,index发生变化
}
//查看某一行
dataG.seaRow = function(rowId,rowName,event){
event.stopPropagation();
console.log(rowId+ "" +rowName);
}
</script>
</html>