我有一个数据库,其中有一个名为"代码"的列。当此列代码显示在gridview中时,我想修改列的内容。例如:
在数据库中,如果代码列包含A,B和C值,则在gridview中它应显示Abeloth(而不是A),Bollux(而不是B),Chewbacca(而不是C)。
谢谢
更新
我添加了以下代码,我错过了什么点?
Protected Sub GrvPassengerReport_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GrvPassengerReport.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.Cells(8).Text = "C" Then
e.Row.Cells(8).Text = "Chewbacca"
End If
End If
End Sub
答案 0 :(得分:0)
如果您输入gridview的“编辑列”选项(并假设您的sql已正确连接),则您应该有两个不同的属性来执行此操作。
首先,主要的一个将位于Data选项卡下,并且它名为DataPropertyName。这是您希望此表格显示的数据的名称(例如,年龄,身高或头发颜色)
“设计”选项卡下还有一个名为(名称)的字段,这只是网格内的显示名称。
所以你可以有一个名为ThePersonsName的数据库属性名称,你可以将你的网格视图DataPropertyName设置为,然后在(名称)字段中你可以只写名字,它就会显示出来。
答案 1 :(得分:0)
实现这一目标的一种方法是使用" itemdatabound" gridview控件的事件,然后根据数据库表中的实际值确定您在gridview中显示的值。
答案 2 :(得分:0)
我能够通过使用GridView.RowDataBound事件来解决这个问题。很少有帮助我的文章
1)MSDN
这是代码
Protected Sub GrvPassengerReport_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GrvPassengerReport.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim labelone As System.Web.UI.WebControls.Label
labelone = e.Row.FindControl("lblcStopType")
If labelone.Text = "C" Then
labelone.Text = "Chewbaca"
End If
End If
End Sub