public DataTable Create_PovitDataTable(DataSet dt, DataSet ds)//生成透视数据表
    {
        DataTable temp_save_graph = new DataTable();
        temp_save_graph = dt.Tables[0].Copy();
        DataTable temptable = temp_save_graph.Clone();
        for (int i = 0; i < temptable.Columns.Count; i++)
        {
            for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
            {
                if (temptable.Columns[i].ColumnName.ToString().ToLower() == ds.Tables[0].Rows[j]["col_name"].ToString().ToLower())
                {
                    temptable.Columns[i].Caption = ds.Tables[0].Rows[j]["col_caption||'-'||col_name"].ToString();
                }
            }
        }
        for (int i = 0; i < temp_save_graph.Rows.Count; i++)
        {            CheckBox cbox = (CheckBox)this.GridView_simpleData.Rows[i].FindControl("CheckBox2");
            if (cbox.Checked == true)
            {
                temptable.ImportRow(temp_save_graph.Rows[i]);
            }
        }
        return temptable;
    }这是我选中得到的数据,但是  if (cbox.Checked == true)
            {
                temptable.ImportRow(temp_save_graph.Rows[i]);
            }
这句中的 if (cbox.Checked == true)却是永远为false
事实上我选中了
高手指点一下!!!
这个代码应当没问题,我换数据源试过,但是加上另一下就不行了,

解决方案 »

  1.   

    如果是web下的,把你的代码放在 gridview 的prerender 事件里面。
      

  2.   

    gridview 的绑定事件有没有放到
    if(!IsPostBack)
    {
          
    }
    里,不然checkbox的状态不能保留
      

  3.   

    如果是web的,Page_Load的数据绑定要放在if(!IsPostBack)
    {
    //绑定GridView数据
    }
      

  4.   

    如果是web的,Page_Load的数据绑定要放在 if(!IsPostBack) 

    //绑定GridView数据 
    }
    -----------
    顶顶
      

  5.   

    太感谢了,我也碰到这个问题,确实要放到ispostback里面!
      

  6.   

    gridview 的绑定事件要放到
    if(!IsPostBack) 

          
    } 中