[原创]从DataGird中取得模版列的值

我做过的一个页面:要从Datagrid模版列中取得绑定的值
从网上一搜,发现大都用FindContol()方法,我也试过,用DataGrid.FindControl和e.Item.FindControl()取不到值
如果,模版列中的控件设为Input   html控件,值赋给input的Value则可以取到值,呵呵,郁闷了一天,通过跟踪e.Item.DataItem终于找到
一个不错的方法;就是用e.Item.DataItem对象
如下:
   DataRowView drv = e.Item.DataItem as DataRowView;   
 
  drv.ItemArrary就是当前行的所有绑定列的值,用Drv.ItemArrary[0]。。。。就可以取到
  还有drv.Row["绑定的列名"],这个方法可以取得本行的所有已知绑定列的值,无论是绑定列还是模版列

呵呵,高兴之余,特此共享
 


Html页面中的模版列如下:

None.gif < asp:datagrid id = " dgShowOther "  runat = " server "  Width = " 522px "  Height = " 90px "  AllowPaging = " True "  AutoGenerateColumns = " False "
None.gif       Font
- Size = " 14px "  PageSize = " 9 " >
None.gif       
< HeaderStyle Font - Bold = " True "  Wrap = " False "  HorizontalAlign = " Center "  VerticalAlign = " Middle " ></ HeaderStyle >
None.gif       
< Columns >
None.gif        
< asp:BoundColumn Visible = " False "  DataField = " Code "  HeaderText = " Code " >
None.gif         
< HeaderStyle Width = " 28px " ></ HeaderStyle >
None.gif        
</ asp:BoundColumn >
None.gif        
< asp:TemplateColumn HeaderText = " 显示信息 " >
None.gif         
< HeaderStyle Width = " 500px " ></ HeaderStyle >
None.gif         
< ItemTemplate >
None.gif          
< asp:Label ID = " lbl1 " >
None.gif           
< B >
None.gif            
<% # DataBinder.Eval(Container.DataItem, " Name " ) %>
None.gif           
</ B >
None.gif          
</ asp:Label >< br >
None.gif          
& nbsp; & nbsp;
None.gif          
< asp:Label ID = " lbl2 "  Runat = " server " >
None.gif           
<% # DataBinder.Eval(Container.DataItem, " Brief " ) %>
None.gif          
</ asp:Label >
None.gif         
</ ItemTemplate >
None.gif        
</ asp:TemplateColumn >
None.gif       
</ Columns >
None.gif       
< PagerStyle VerticalAlign = " Middle "  Font - Bold = " True "  HorizontalAlign = " Center "  Mode = " NumericPages " ></ PagerStyle >
None.gif      
</ asp:datagrid >
None.gif






ASP.NET的.CS页面中的DataGrid数据绑定方法:

None.gif private   void  dgShowOther_ItemDataBound( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif  
dot.gif
InBlock.gif   
//从e.Item.DataItem 取得本行绑定的值
InBlock.gif
   DataRowView drv = e.Item.DataItem as DataRowView;   
InBlock.gif
InBlock.gif   
//点击表格打开
InBlock.gif
   if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
ExpandedSubBlockStart.gifContractedSubBlock.gif   
dot.gif{
InBlock.gif                e.Item.Attributes.Add(
"OnClick""ClickEvent('bhqsr.aspx?name='+'"+tabname+"'+'&Code='+'"+e.Item.Cells[0].Text+"'+'&fname='+'"+drv.Row["Name"]+"')");    
ExpandedSubBlockEnd.gif   }

InBlock.gif   
InBlock.gif   
//鼠标移动到每项时颜色交替效果
InBlock.gif
   if (e.Item.ItemType!=ListItemType.Header)
ExpandedSubBlockStart.gifContractedSubBlock.gif   
dot.gif
InBlock.gif    e.Item.Attributes.Add(
"OnMouseOut""this.style.backgroundColor='Transparent';this.style.color='Black'");
InBlock.gif    e.Item.Attributes.Add(
"OnMouseOver""this.style.backgroundColor='#cacee1';this.style.color='Blue'");
ExpandedSubBlockEnd.gif   }

InBlock.gif
InBlock.gif   
//鼠标的形状为小手
InBlock.gif
   e.Item.Attributes["style"= "Cursor:hand";  
InBlock.gif  
ExpandedBlockEnd.gif  }

None.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值