日期:2014-05-19  浏览次数:20469 次

求救高人帮我看看
报错的信息
指定的转换无效。  
说明:   执行当前   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
在调用实现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();
}
}




------解决方案--------------------
你的DATAGRID的数据源是绑定到一个DataView上面吗
------解决方案--------------------
没有数据吧,先判断是不是数据行,在运行这些代码
TextBox ll = (TextBox) sender;//发送绑定请求
DataGridItem container = (DataGridItem) ll.NamingContainer;
ll.Text = ((DataRowView)container.DataItem)[ "DLID "].ToString();//绑定字段
//((DataRowView)e.Item.DataItem).Row.ItemArray[1].ToString();


------解决方案--------------------
DATAGRID的DataSource????