1.根据前端传递的年份、月份获取月天数返回给前台
(后台代码):
@RequestMapping("/XXXXXXX")
@ResponseBody
public Integer findDayByYearAndMonth(Integer year,Integer month){
Calendar cale = null;
cale = Calendar.getInstance();
if(year==null||year.equals("")){
year = cale.get(Calendar.YEAR);
}
if(month==null||month.equals("")){
month = cale.get(Calendar.MONTH) + 1;
}
//设置年份
cale.set(Calendar.YEAR, year);
//设置月份
cale.set(Calendar.MONTH, month-1);
//获取某月天数
int firstDay = cale.getActualMaximum(Calendar.DATE);
return firstDay;
}
2.前端根据获取到的天数生成列
(前端代码):
function getMonthDays(nowyear,myMonth)
{
var days=0;
$.ajax({
url:'/xx/xxxxxxx',
type:'post',
async:false,
data:{
year:nowyear,
month:myMonth
},
success:function(res){
days=res;
}
})
return days;
}
var dayss=0;
//根据天数生成列
function initTable(){
var month=$('#month').val();
var year=$('#year').val();
var array=[ ];
var columns=[];
for(var i=1;i<=dayss;i++){
var colum={field:'day'+i,title:i+'号',width:50};
array.push(colum);
}
columns.push(array);
$('#tcontent-list-data').datagrid({
url : '', // 后台数据请求地址
width : "auto",
height : "auto",
columns:columns,
striped : true, // 是否显示斑马线效果
autoRowHeight : false,
nowrap : true,
singleSelect : false, // 是否只允许单选
pagination : false, // 是否允许分页
rownumbers : false, // 是否显示行号
fitColumns:false,
method : 'GET',
frozenColumns : [ [ // 冻结列定义
{
field : 'ck',
checkbox : false
} ] ],
frozenColumns:[[
{field:'',title:'',width:100,hidden:true},
{field:'',title:'',width:100},
{field:'',title:'',width:50,hidden:true},
{field:'',title:'',width:150}
]],
onLoadSuccess: function (data) {
if (data.total == 0) {
{
$('#tableId').datagrid('insertRow', {row: {}});}
$("tr[datagrid-row-index='0']").css({ "visibility": "hidden" });
}
}
});
}
表格数据,可以根据自己的需求去查询。