将数据从数据库修改为gridview

时间:2014-09-17 05:05:36

标签: sql vb.net gridview

我有一个数据库,其中有一个名为"代码"的列。当此列代码显示在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

3 个答案:

答案 0 :(得分:0)

如果您输入gridview的“编辑列”选项(并假设您的sql已正确连接),则您应该有两个不同的属性来执行此操作。

首先,主要的一个将位于Data选项卡下,并且它名为DataPropertyName。这是您希望此表格显示的数据的名称(例如,年龄,身高或头发颜色)

“设计”选项卡下还有一个名为(名称)的字段,这只是网格内的显示名称。

所以你可以有一个名为ThePersonsName的数据库属性名称,你可以将你的网格视图DataPropertyName设置为,然后在(名称)字段中你可以只写名字,它就会显示出来。

答案 1 :(得分:0)

实现这一目标的一种方法是使用" itemdatabound" gridview控件的事件,然后根据数据库表中的实际值确定您在gridview中显示的值。

答案 2 :(得分:0)

我能够通过使用GridView.RowDataBound事件来解决这个问题。很少有帮助我的文章

1)MSDN

2)Question on StackOverflow

这是代码

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