①首先肯定需要有一个table标签,给它定义一个id,在js中通过iddatagrid方法即可创建表格
<table id="tt"></table>
$('#tt')datagrid(options);
②创建表格的列名有两种方式:第一种是直接在table标签中定义,第二种是在js中定义:
我使用的是第一种方式:
<!-- 表格 -->
<table id="loginInfoTable"
title="用户信息一览"
border="0"
cellspacing="0"
cellpadding="0"
iconCls="icon-edit"
width="98%"
idField="loginId"
pagination="true"
remoteSort="false"
singleSelect="false"
showFooter="false"
striped="true"
url="<%=root%>/ospm/loginInfo/doLoginInfoSearchjhtml">
<thead>
<tr align="center">
<th field="ck" width="20" checkbox="true" width="20"></th>
<th field="loginCode" width="200">用户名</th>
<th field="statuValue" width="100">状态</th>
<th field="opt" formatter='optFormater' width="150"> *** 作</th>
</tr>
</thead>
</table>
datagrid有一个属性叫url,在进入页面后,它会通过ajax方式向后台发送请求,后台封装相应数据(JSON格式)再返回给前台即可显示。注意:datagrid在回调函数中必须获得两项json数据:total表示查询出的总结过,rows表示显示在table中的数据集合。
/
封装Json数据
/
long total = 0; // 符合查询的总条数
List<LoginInfoTableDto> lstTable = null; // 查询结果
total = (Long) mapLoginInfoget(Constant4OspmTOTAL);
if (mapLoginInfoget(Constant4OspmSEARCH_RESULT) != null) {
lstTable = (List<LoginInfoTableDto>) mapLoginInfo
get(Constant4OspmSEARCH_RESULT);
} else {
//注:如果从数据库查询不出数据,也必须封装一个空的json集合,不然页面就会报js错误
lstTable = new ArrayList<LoginInfoTableDto>();
}
JSONObject datas = new JSONObject();
// 设置总共有多少条记录
datasput(Constant4OspmTOTAL, total);
// 设置当前页的数据
datasput(Constant4OspmPAGE_SIZE, lstTable);
④后台数据与表格关联
后台过来的数据怎么与表格每一列对应呢?其实很简单:后台rows中包含了名叫LoginInfoTableDto的javabean-json集合,datagrid的field和idField对应LoginInfoTableDto中的一个属性(大体上是这样,当然field也可以不对应javabean的属性,你可以进行一些转换)。
1、首先写入导出按钮和需要导出的datagrid列表。
2、点击导出按钮;获得需要导出的字段与不需要导出的数据进行数据处理,并且进行json解析。
3、异步 *** 作进入后台获取数据。
4、后台将数据写入excel(其中还有一个帮助类)。
你这个是自定义获取数据,都没有设置url,当然不会处理你的分页
columns要动态获取你可以先发送ajax获取到column的内容后再构造grid,加上url配置
你要动态附加其他参数可以使用onBeforeLoad事件,参数为param,修改param参数增加你的附加数据就行了,这些附加的数据会一起发送到服务器
function getChanges(){
var s = '';
var rows = $('#tt')datagrid('getChanges');
for(var i=0; i<rowslength; i++){
s += rows[i]name + ':' + rows[i]value + ',';
}
alert(s)
}
代码如下,精测试用data带参数提交行不通,只能是queryParams 的形式
contactsComboGrid = $('#contacts_friends_id') combogrid( { //url : 'personalContactsMaintainAction!queryContactsComboGridaction contactsId=' // + id, url : 'personalContactsMaintainAction!queryContactsComboGridaction', queryParams : { contactsId : contactsFriendsId }, idField : 'contactsId', textField : 'name', panelWidth : 510, editable : false, collapsible : false,// 是否可折叠的 required : true method : 'post', fit : true,// 自动大小 pagination : true, pageSize : 10, pageList : [ 10, 20, 30, 40, 50 ], fitColumns : true, columns : [ [ { field : 'name', title : '姓名', width : 100 }, { field : 'telFirst', title : '手机', width : 150 }, { field : 'company', title : '公司', width : 150 }, { field : 'position', title : '职务', width : 100 }, { field : 'contactsId', hidden : true } ] ] });
以上就是关于easyui的datagrid怎么绑定数据库全部的内容,包括:easyui的datagrid怎么绑定数据库、jQuery EasyUI- DataGrid使用 从数据库查询得到数据显示在前台的jsp页面,如何实现、请教EASYUI动态列传递分页参数问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)