当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

自定义控件之模板+数据绑定

    自定义控件(模板+数据绑定)

    先说说模板
    <asp:datagrid id="mydg" runat="server" >
    <Columns>
    <asp:Button id=Button1 Runat="server" >
    </Columns>
    </asp:datagrid>

    这个<Columns>就是个模板标记,在自定义控件中可以自己任意设置这个<Columns>,可以是<OverRed>...
    开始:
    新建个类
    MyItemTemPlateC.cs
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;


    namespace WebApp3
    {
     /// <summary>
     /// MyTemplateC 的摘要说明。
     /// </summary>
     [ParseChildren(true)]
     public class MyTemplateC: Control,INamingContainer
     {

      private ITemplate itemPlate;
      [TemplateContainer(typeof(MyContainer))]
      public  ITemplate ItemTemplate
      {
       get{return itemPlate;}
       set{itemPlate=value;}
      }

    //  private string text;
    //  public string Text
    //  {
    //   get{return text;}
    //   set{text=value;}
    //  }
      private IEnumerable dataSource;
      public IEnumerable DaTaSource
      {
       get{return this.dataSource;}
       set{this.dataSource=value;}
      }

      protected override void OnDataBinding(EventArgs e)
      {
       HasCreatDataSource();
       //this.EnsureChildControls();//确定是否包含子控件,否则创建
       /// <summary>
       /// 为确保直到再次发生数据绑定时才创建子控件,在创建对象并将它添加到控件的
       ///ControlCollection 对象之后,将 ChildControlsCreated 属性设置为 true。
       /// </summary>
       this.ChildControlsCreated=true;
       base.OnDataBinding (e);
      }

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接