| 
                もりおさん返信ありがとう御座います。
  こんにちはでしたorz 確認したソースです。C#ですが・・・。
  using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;
  namespace test2 {     // ITemplateを継承したCustomTemplateクラス     public class CustomTemplate : ITemplate     {         public void InstantiateIn(Control container)         {             // ボタンとテキストを追加               container.Controls.Add(new Button());             container.Controls.Add(new TextBox());         }     }
      public partial class _Default : System.Web.UI.Page {             protected void Page_Load(object sender, EventArgs e) {               if (!this.IsCallback) {                   // GridViewにテンプレート列を追加する。                   TemplateField template = new TemplateField();                    template.ItemTemplate = new CustomTemplate();                   this.GridView1.Columns.Add(template);            // GridViewにデータを追加する                   string[] list = { "Sunday", "Monday", "Tuesday" };                      this.GridView1.DataSource = list;                    this.GridView1.DataBind();                }            }                      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) {              if (e.Row.RowType == DataControlRowType.DataRow) {                    Button button = (Button)e.Row.Cells[0].Controls[0];                      button.Text = e.Row.DataItem.ToString(); // ボタンの表示名を変更                  }             }     } }
  上記ソースコードでバインド時に、ITemplateを継承したクラスCustomTemplateのメソッドInstantiateInが 関数コールされます。恐らく似たような感じだと思います。
  ただこのコードを、本番のソースコードに埋め込んでみてもメソッドInstantiateInが関数コールされないのです。 今色々やっていますが・・・サンプルだと単純なんですけどねぇ・・・機能を盛り込んでいる物に対して追加して いるのでどこが悪さしているのか調査中って感じなのです。
 
  |