1、datatable的显示
function initTable(){
$('#wzcbkList').dataTable().fnDestroy();
$('#wzcbkList').dataTable({
"ordering": false,//排序
"searching": false,//表格自带搜索栏
"serverSide": true,//异步请求必须设置
'bPaginate': true, //是否分页
"sPaginationType": "full_numbers", //分页样式
//"bLengthChange": false, //是否启用设置每页显示记录数
//"iDisplayLength": 20, //默认每页显示的记录数
"aLengthMenu": [10, 25, 50, 100],
"bProcessing": true,//是否显示正在处理的提示 如:设置异步请求时,是否有等待框
//"sAjaxSource": basePath+'/wz/wzcbk!wzcbkList.action', //服务器会默认使用cookie;使用该参数后,请求的每个连接都是新连接
"bStateSave": false, //保存状态到cookie ******很重要 , 当搜索的时候页面一刷新会导致搜索的消失。使用这个属性设置为true就可避免了
"ajax": {
url: basePath+'/wz/wzcbk!wzcbkList.action',
type:"post",
data: {
"cbkmc": $('#cbkmc').combobox('getValue'),
"cbkfzr": $('#cbkfzr').val()
}
},
"columnDefs":[
{"targets": [0],"visible": true,"render": function (data, type,row) {
return "<input type=\"checkbox\" value=\""+data+"\">";
}
},
{"targets": [7],"visible": true,"render": function (data, type,row) {
return formatDate(new Date(data),"yyyy-MM-dd");
}
}
],
"columns": [
{ "data":"cbkid"},
{ "data": "cbkmc" },
{ "data": "cbkkc" },
{ "data": "cbkfzr" },
{ "data": "lxdh" },
{ "data": "lxdz" },
{ "data": "email" },
{ "data": "addtime" }
],
"createdRow": function( row, data, dataIndex ) {
$('td input[type="checkbox"]', row).iCheck({
checkboxClass: 'icheckbox_minimal-grey',
radioClass: 'iradio_minimal-grey',
increaseArea: '0%' // optional
});
}
});
难点:1)、数据分页,后台传的json格式不对,需要注意:
dataMap.put("draw", draw);//分辨哪个页面请求
dataMap.put("recordsTotal", total);//(过滤的条数)
dataMap.put("recordsFiltered", total); //分页传的参数,总条数,会自动根据当前页分从几到几
dataMap.put("data", wzcbks);
2)、查询下拉框的取不l值:
//有初始化的数据最好放在上面,防止数据未加载完
$('#cbkmc').combobox({
url : basePath+'/wz/wzcbk!queryWzcbk.action',
valueField : 'cbkid',
textField : 'cbkmc'
});
$('#cbkmc').combobox('getValue')
2、查看数据
var ids = getSelected($(tableId));
1) 前台 获取不了ids,主要是因为checkbox内未赋value值,data为空
"columnDefs":[
{"targets": [0],"visible": true,"render": function (data, type,row) {
return "<input type=\"checkbox\" value=\""+data+"\">";
}
},
{"targets": [7],"visible": true,"render": function (data, type,row) {
return formatDate(new Date(data),"yyyy-MM-dd");
}
}
]
2) view页面显示不了数据,注意后台传的json格式,{"result":"success","data":{"cbkid":"969","cbkkc":"222"}
// 这里面的接收的id是indexBacend页面拼的id
String id = getRequest().getParameter("id");
wzcbk = wzcbkService.selectByPrimaryKey(id);
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("data", wzcbk);
dataMap.put("result","success");
String json = mapper.writeValueAsString(dataMap);
log.info("查询的物资储备库列表数据:"+json);
responseText(json);
3、删除数据
纠结在于T_DEMO_WZCBK_SqlMap.xml内的sql语句,更改deltye来确定数据库端的假删除
<update id="updateByPrimaryKeyWithBLOBs" parameterClass="com.itic.appbase.demo.persistence.model.WzCbk" >
update T_DEMO_WZCBK
set
CBKMC = #cbkmc#,
CBKFZR = #cbkfzr#,
LXDH = #lxdh#,
LXDZ = #lxdz#,
EMAIL = #email#,
ADDTIME = #addtime#,
DELTYPE = #deltype#
where CBKID = #cbkid#
</update>
4、 修改数据
首先跟查看一样获取某个id的一条数据并显示在前端,在更改数据
5、总结
1)、数据库的表设计不合理:
字段通常设置为NVARCHAR2(20);
取值范围根据实际情况来定;
id记得设置成为navchar(20);
date可以设置成Date也可以设置成为navchar(20);
具备AddTime字段;
具备备注和多余字段
2)、重新建表,根据gen-mybatis生成dao和service时,要淡定地修改自己之前改动的地方