请问如何实现
我想把下面的aspx代码:   
  <asp:TemplateColumn   HeaderText= "钩选 ">  
           <ItemTemplate>  
 	 <asp:CheckBox   id= "Check "   runat= "server "   />  
 	 <asp:Label   id= "DLID "   runat= "server "   Visible=False   Text= ' <%#   DataBinder.Eval(Container.DataItem,    "DLID ")   %>  '   />  
              </ItemTemplate>  
  </asp:TemplateColumn>  
 写到aspx.cs的void   Page_Load函数下 
 protected   System.Web.UI.WebControls.DataGrid   MyList; 
 private   void   Page_Load(object   sender,   System.EventArgs   e) 
 {   
 /* 
 System.Web.UI.WebControls.TemplateColumn   TemplateColumnCheckbox   =   new   TemplateColumn(); 
 TemplateColumnCheckbox.HeaderText= "钩选 "; 
 //TemplateColumnCheckbox.ItemTemplate= 
 System.Web.UI.ITemplate   Itemplate   =   new   ITemplate(); 
 System.Web.UI.WebControls.Label   LabelTxt   =new   Label(); 
 CheckBox   checkBox_check   =new   CheckBox(); 
 checkBox_check.ID= "Check "; 
 LabelTxt.Text=DataBinder.Eval(Container.DataItem,    "DLID "); 
 TemplateColumnCheckbox.ItemTemplate. 
 MyList.Columns.AddAt(MyList.Columns.Count,TemplateColumnCheckbox); 
 */ 
 }
------解决方案--------------------public class ColumnTemplate1 : ITemplate  
  {    
   public void InstantiateIn(Control container)        
   {  
      //add checkbox and label 
   }  
   public void OnDataBinding(object sender, EventArgs e)  
   {  
      //handle binding to DLID field 
   }  
  }
------解决方案--------------------在调用实现ITemplate接口处错请高人帮我看看   
 TemplateColumn s=new TemplateColumn(); 
 s.HeaderText= "ID "; 
 LabelTemplate s1 =new LabelTemplate (); 
 s.ItemTemplate= s1; 
 MyList.Columns.AddAt(MyList.Columns.Count,s);  						     
 public class LabelTemplate : ITemplate 
 { 
 // Instantiate the elements of the template in the given 
 // container. In this case, a DataGridItem element. 
   public void InstantiateIn(Control container)  
   { 
    container.Controls.Add(new LiteralControl( " <b>  ")); 
    Label lblID = new Label();	 
    lblID.DataBinding += new EventHandler(this.BindID); 
    container.Controls.Add(lblID); 
    container.Controls.Add(new LiteralControl( " </b> ,  ")); 
   } 
 // Handler of the OnDataBinding event for the Label element 
 // that renders the ID column in the template. 
 private void BindID(Object sender, EventArgs e) 
 { 
    Label l = (Label) sender; 
    DataGridItem container = (DataGridItem) 
    l.NamingContainer; 
    l.Text = ((DataRowView)container.DataItem)[ "DLID "].ToString(); 
 } 
 }   
 报错的信息 
 指定的转换无效。  
 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
 异常详细信息: 
System.InvalidCastException: 指定的转换无效。   
 源错误:      
 行 75: 			Label l = (Label) sender; 
 行 76: 			DataGridItem container = (DataGridItem) l.NamingContainer; 
 行 77: 			l.Text = ((DataRowView)container.DataItem) 
 行 78: 				[ "DLID "].ToString(); 
 行 79: 		}      
 源文件: c:\inetpub\wwwroot\webadex\logiclayer\business.cs    行: 77