
<table id="tt" border="false" fit="true" fitcolumns="true" iconcls="icon-edit" singleselect="true"></table>
function strToJson(str) {
var json = eval('(' + str + ')')
return json
}
1.加载静态数据方法
var htmls = "[{'ID':'FI-SW-01','aname':10.00,'mname':'P','uname':36.50,'pname':'Large','pcode':'EST-1'},{'ID':'FI-SW-02','aname':10.00,'mname':'P','uname':36.50,'pname':'Large','pcode':'EST-1'},{'ID':'FI-SW-03','aname':10.00,'mname':'P','uname':36.50,'pname':'Large','pcode':'EST-1'},{'ID':'FI-SW-04','aname':10.00,'mname':'P','uname':36.50,'pname':'Large','pcode':'EST-1'},{'ID':'FI-SW-05','aname':10.00,'mname':'P','uname':36.50,'pname':'Large','pcode':'EST-1'}]"
$('#tt').datagrid('loadData', strToJson(htmls))
2.ajax动态加载数据方法(支持后台数据库)
$.ajax({
url: "/index/index",
data: { id: 1, code: "101" },
datatype: "json",
type: "POST",
traditional: true,
success: function(data) {
$('#tt').datagrid('loadData', strToJson(data))
}
})
返回的data数据格式为方法1中的htmls字符串格式。
希望对你有帮助。
1、首先写入导出按钮和需要导出的datagrid列表。
2、点击导出按钮;获得需要导出的字段与不需要导出的数据进行数据处理,并且进行json解析。
3、异步 *** 作进入后台获取数据。
4、后台将数据写入excel(其中还有一个帮助类)。
呵呵。。。
前台js:
///修改datagrid后保存修改到数据库
function save(obj, url) {
obj = $(obj)
//变化的行集合
var insertRows, updateRows, deleteRows
var allRows = obj.datagrid('getRows')
var rowIndex
var updateFlag = true//判断新增、修改的行数据是否都合法,都合法为true,否则false
for (var i = 0i <allRows.lengthi++) {
if (!obj.datagrid('validateRow', i)) {
updateFlag = false
$.messager.show({
title: 'Error messages',
msg: '第' + (i + 1) + '行数据有误',
timeout: 0
})
}
obj.datagrid('endEdit', i)
}
//获取所有变化的行
insertRows = obj.datagrid('getChanges', 'inserted')
updateRows = obj.datagrid('getChanges', 'updated')
deleteRows = obj.datagrid('getChanges', 'deleted')
//if、else判断是否有变化的行,if没有则跳出提示信息,else进行下一步
if ((insertRows.length == 0 &&updateRows.length == 0 &&deleteRows.length == 0) || !updateFlag) {
//$.messager.alert('Messages', '请进行正确的添加、更改或删除 *** 作后再保存!', 'info')
}
else {
//将所有变化行的信息转换成string,并传给后台
var strInsertRows = JSON.stringify(insertRows)
var strUpdateRows = JSON.stringify(updateRows)
var strDeleteRows = JSON.stringify(deleteRows)
$.post(url, {
'insertStr': strInsertRows,
'updateStr': strUpdateRows,
'deleteStr': strDeleteRows
},
function (result) {
if (result == 'Success') {
obj.datagrid('acceptChanges')
obj.datagrid('reload')
obj.datagrid('unselectAll')
$.messager.alert('Messages', result, 'info', function () { self.parent.refreshTab() })
}
else {
$.messager.show({
title: '提示信息',
msg: result,
timeout: 0
})
}
}, 'text')
}
}
后台ashx保存到数据库:
JSONHelper.JSONToObject<List<StrorageInfo>>(insertStr)将得到的新增json转换成实体,这边你只要能把json拆成你要的数据就好
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)