考勤表
name 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18.....31
当月份为2,4,6,9,11是,分别隐藏29,30,31
当天数为31的月份时,数据正常显示,其他无数据显示.请高手赐教....

解决方案 »

  1.   


    考勤表
    name 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18.....31
    当月份为2,4,6,9,11是,分别隐藏29,30,31
    当天数为31的月份时,数据正常显示,其他月份无数据显示.请高手赐教....
      

  2.   

    dgAttendanceTable.Columns[idx].Visible = false;
    idx=你要隐藏的列的Index更好的办法是考虑将列变成行?然后定制你的Data
      

  3.   

    代码是这样的
    for(int i=1;i<32;i++)
    {
    if(Convert.ToInt32(dg.Columns[i].HeaderText)>monthday)
    {
    dg.Columns[i].Visible=false;
    }
    else
    {
    dg.Columns[i].Visible=true;
    }
    }string SQL="select 语句"
    DataSet ds=new DataSet();
    ds=DBOper.Select(SQL);
    dg.DataSource=ds;
    dg.DataBind();隐藏列没有问题
    当天数为31的月份时,数据正常显示,其他月份无数据显示.
      

  4.   

    string SQL="select 语句"
    DataSet ds=new DataSet();
    ds=DBOper.Select(SQL);
    dg.DataSource=ds;
    dg.DataBind(); 
    for(int i=31;i > 0;i--)
    {
       if(Convert.ToInt32(dg.Columns[i].HeaderText)>monthday)
          dg.Columns[i].Visible=false;
       else
          break;
      

  5.   

    怎样在datagrid中单独删除某列