datagrid中绑定需要处理的数据

在项目应用中常常需要对一些直接取到的数据进行处理后再绑定至datagrid,比如下面的情况
从数据库中取到了区域编码,CRegionCode,但是我们还需要绑定其对应的Name,假设这个并不能数据库查询得到,比如,是在某个INI文件里,我们只有根据Code获得Name。

这里在后台代码中添加一个方法GetName(),返回一个string,这个string就是根据CRegionCode得到的Name值,在前提模板列里,写Text='<%# GetName(DataBinder.Eval(Container, "DataItem.CRegionCode").ToString()) %>'。

代码如下:

< asp:TemplateColumn  SortExpression ="CRegionCode"  HeaderText ="&lt;font color=#254976&gt;配送中心" >
                                    
< HeaderStyle  Width ="33%" ></ HeaderStyle >
                                    
< ItemTemplate >
                                        
< asp:Label  id =Label1  runat ="server"  Text ='<%#  GetName(DataBinder.Eval(Container, "DataItem.CRegionCode").ToString()) % > '>
                                        
</ asp:Label >
                                    
</ ItemTemplate >
                                
</ asp:TemplateColumn >

protected   string  GetName( string  code)
        
{
            DataTable dt 
= region.GetData(code);
            
return dt.Rows[0]["CName"].ToString();
        }

当然我们也可以在后台代码里直接写
protected   void  FormatDataGrid_ItemDataBound( object  source, 
 System.Web.UI.WebControls.DataGridItemEventArgs e)
    
{
      
//  确保处理的是数据行,而不是Header或者Footer
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
      
{
        
//  
        string regionCode= (string)DataBinder.Eval(e.Item.DataItem, "CRegionCode");
       e.Item.Cells[
2].Text = GetName(regionCode);
        
      }

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值