您的位置:首页 > 移动开发 > Objective-C

datagrid中绑定需要处理的数据

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

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

代码如下:


<asp:TemplateColumn SortExpression="CRegionCode" HeaderText="<font color=#254976>配送中心">


                                    <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);


        


      }


    }



 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息