- PR -

カスタムコントロール(DataGrid)でのテンプレート要素 追加

1
投稿者投稿内容
ベル
会議室デビュー日: 2002/12/01
投稿数: 18
投稿日時: 2003-12-15 13:18
今、DataGridを継承して
デザイン時にテンプレート列と、テンプレート要素にテキストボックスが生成される
カスタムコントロールを作成しようとしています。

初心者なりに、見よう見まねでつくってみたのですが。。。
[テンプレートの編集]を行うとテキストボックスが消えてしまいます。
テンプレート要素を[テンプレートの編集]に引き継ぐには、どのようにしたらよいのでしょうか?
アドバイスを頂けたら幸いです。宜しくお願い致します。

public class MyDataGrid : System.Web.UI.WebControls.DataGrid
{
 public class MyTemplate : ITemplate
 {
   public void InstantiateIn(Control container)
   {
    TextBox t = new TextBox();
    t.DataBinding += new EventHandler(this.BindName);
    container.Controls.Add(t);
   }
   public void BindName(Object sender, EventArgs e)
   {
    TextBox t = (TextBox) sender;
    DataGridItem container = (DataGridItem) t.NamingContainer;
    t.Text = "テンプレートにテキストボックス";
   }
 }
 protected override void CreateChildControls()
 {
   base.AutoGenerateColumns = false;
   TemplateColumn objTemplateColumn = new TemplateColumn();
   objTemplateColumn.HeaderText= "ヘッダ";
   objTemplateColumn.ItemTemplate = new MyTemplate();
   base.Columns.Add(objTemplateColumn);
   ChildControlsCreated = true;
 }
 protected override void Render(System.Web.UI.HtmlTextWriter writer)
 {
  base.Render(writer);
 }
}
1

スキルアップ/キャリアアップ(JOB@IT)