为绑定的字段设置自定义的显示内容
在基于数据库的开发中,经常会在数据库中用0、1、true、false之类的字符来保存一些内容,比如是否为管理员,一般就在isAdmin字段中用0和1来区分。但是,当这样的一个字段读出在DataGrid中时候,感觉很没有意思,所以就有如下代码来在DataGrid列中显示根据这些0、1来显示别的:
要实现本功能,必须在DataGrid的ItemDataBound中来加入代码,本例中,“bumen”“add_user”为数据表中的两个字段,下面的e.Item.cell(x).text就是要替换列的内容。
我的库中,bumen是用数字表示,add_user为英文用户名。这样写之后,在DataGrid的显示部门为中文部门名称,添加用户为中文用户真名。
(Get_team_name()和Get_tname()为我写的两个class)
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim team_id As String = CType(DataBinder.Eval(e.Item.DataItem, "bumen"), String)
e.Item.Cells(5).Text = Get_team_name(team_id)
Dim tname As String = CType(DataBinder.Eval(e.Item.DataItem, "add_user"), String)
e.Item.Cells(4).Text = Get_tname(tname)
End If
End Sub
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim team_id As String = CType(DataBinder.Eval(e.Item.DataItem, "bumen"), String)
e.Item.Cells(5).Text = Get_team_name(team_id)
Dim tname As String = CType(DataBinder.Eval(e.Item.DataItem, "add_user"), String)
e.Item.Cells(4).Text = Get_tname(tname)
End If
End Sub
要实现本功能,必须在DataGrid的ItemDataBound中来加入代码,本例中,“bumen”“add_user”为数据表中的两个字段,下面的e.Item.cell(x).text就是要替换列的内容。
我的库中,bumen是用数字表示,add_user为英文用户名。这样写之后,在DataGrid的显示部门为中文部门名称,添加用户为中文用户真名。
(Get_team_name()和Get_tname()为我写的两个class)