DataGrid动态生成了N列
第一列加载了一个checkbox
这时页面上有查询的功能,会重新生成datagrid的列,
这时候选中的checkbox在提交时获取到的checked属性都为false,就取不到查询后选中的数据了。
这种情况该怎么处理?

解决方案 »

  1.   

    每次加载页面的时候都要动态生成这些checkbox,这样才能恢复它们的状态
      

  2.   

    问题是我在点提交时就已经取不到这些checkbox的状态,连保存状态的机会都没有怎么恢复?
      

  3.   

    动态生成控件很麻烦的
    ,需要自己处理 ViewState,参见http://msdn2.microsoft.com/zh-cn/library/aa289519(VS.71).aspxAdding Columns Dynamically部分
      

  4.   

    你的 数据 绑定代码
    应该写在
    if(!IsPostBack)
    {
    //绑定DataGrid...
    }
      

  5.   

    重新bind后会取不到属性的。
      

  6.   

    datagrid动态生成列要放在page_init里面,不能在page_load里面。另外,记得enableviewstate
      

  7.   

    cpp2017(慕白兄) 
    重新bind后会取不到属性的。
    ==================================
    取不到属性怎么办?
      

  8.   

    能不动态添加最好不要动态添加.如果要动态添加在每次Page_Load时都要添加.可做个标志放在Viewsate中,如果检测到标记就
    循环dataqgrid的items然后添加checkbox.
      

  9.   

    scow(怡红快绿之小橙子) ( )
    datagrid动态生成列要放在page_init里面,不能在page_load里面。另外,记得enableviewstate
    =======================================================
    放init或放load在这里好像没什么区别,当页面有刷新时都会重新执行
      

  10.   

    能不动态添加最好不要动态添加.如果要动态添加在每次Page_Load时都要添加.可做个标志放在Viewsate中,如果检测到标记就
    循环dataqgrid的items然后添加checkbox.
    ---------------------------
    强烈同意,一般问题都不用动态生成列的
      

  11.   

    没办法,我所有元素都是动态生成的
    问题倒是解决了,用的hidden保存上次选择的checkbox的key值,再放两天结帐吧~