none
gridview模板中如何动态载入用户控件? RRS feed

  • 问题

  • 我页面中有一个gridview,编辑gridview使用模板,模板单独写了一个类。 模板中有一列是combobbox,这个combobox是自己写的一个用户控件,我先定义了一个usercontrol名为combo,然后用这个usercontrol用combo.loadcontrol("mycombobox.ascx")载入我自己的用户控件,然后再用模板中的table.rows[0].cells[0].controls.add(combo)
    运行后没有报错,该列显示正常数据。
    但是编辑时,该列什么都没有,不显示我的用户控件。
    有没有高手高手高高手能帮我解决?非常感谢!

    2009年1月19日 3:33

答案

  •  ITKing 写:
    我页面中有一个gridview,编辑gridview使用模板,模板单独写了一个类。 模板中有一列是combobbox,这个combobox是自己写的一个用户控件,我先定义了一个usercontrol名为combo,然后用这个usercontrol用combo.loadcontrol("mycombobox.ascx")载入我自己的用户控件,然后再用模板中的table.rows[0].cells[0].controls.add(combo)
    运行后没有报错,该列显示正常数据。
    但是编辑时,该列什么都没有,不显示我的用户控件。
    有没有高手高手高高手能帮我解决?非常感谢!

     

    在编辑时,你需要也使用代码添加。动态添加的东西,只有在运行到那个代码时才有,没有运行到的时候不会有,

    注意:动态添加的东西与标准的控件是不同的

    2009年1月21日 0:59
    版主

全部回复

  • 有人说是回调造成控件丢失,但我用的是模板,这种方式不是在定义模板的时候就已经设定好该列要显示什么吗?这种情况还需要考虑回调吗?
    2009年1月20日 1:42
  •  

    这个不知道能不能帮你 在page oninit中载入控件,先试试不加Page.IsPostBack判断
    2009年1月20日 4:56
  •  ITKing 写:
    我页面中有一个gridview,编辑gridview使用模板,模板单独写了一个类。 模板中有一列是combobbox,这个combobox是自己写的一个用户控件,我先定义了一个usercontrol名为combo,然后用这个usercontrol用combo.loadcontrol("mycombobox.ascx")载入我自己的用户控件,然后再用模板中的table.rows[0].cells[0].controls.add(combo)
    运行后没有报错,该列显示正常数据。
    但是编辑时,该列什么都没有,不显示我的用户控件。
    有没有高手高手高高手能帮我解决?非常感谢!

     

    在编辑时,你需要也使用代码添加。动态添加的东西,只有在运行到那个代码时才有,没有运行到的时候不会有,

    注意:动态添加的东西与标准的控件是不同的

    2009年1月21日 0:59
    版主
  • 非常感谢您的帮助,我测试成功后马上回来结帖。
    2009年1月21日 4:52