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时,要淡定地修改自己之前改动的地方