根据年份、月份动态生成datagrid表格列

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" });
                 }
             }
        });
   }

 

表格数据,可以根据自己的需求去查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值