加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – gridview显示文本而不是值

发布时间:2020-12-16 06:37:31 所属栏目:asp.Net 来源:网络整理
导读:我的问题是: 我的表由以下值组成:0,1,2 3 但是当gridview加载时我希望显示文本而不是那些数字. 0 = not set,1 = low,2 = medium,3 = high 我可以像if / else条件那样做,但我只是想寻找一个优化的sol. 这是我的标记gridview: asp:TemplateField HeaderText
我的问题是:

我的表由以下值组成:0,1,2 3

但是当gridview加载时我希望显示文本而不是那些数字.

0 = not set,1 = low,2 = medium,3 = high

我可以像if / else条件那样做,但我只是想寻找一个优化的sol.

这是我的标记gridview:

<asp:TemplateField  HeaderText="Priority" SortExpression="Priority" >
<ItemTemplate>
 <asp:Label ID="lblPriority" Text='<%# DataBinder.Eval(Container.DataItem,"Priority")%>' runat="server" />
 </ItemTemplate>

解决方法

假设您没有在任何地方存储在DB中的显示值,这是一种可以实现渲染部分的方法.可能有一种更可维护的方式来存储查找值,如果有人可以贡献我会很感激.

我在记事本中写了这个,因为我的机器上没有Visual Studio.如果有任何语法错误,请原谅.

标记:

<asp:Label ID="lblPriority" Text='<%# RenderPriority(DataBinder.Eval(Container.DataItem,"Priority")) %>' runat="server" />

码:

Protected Function RenderPriority(ByVal dbValue As Object) As String
    Dim strReturn as String = String.Empty
    If Not IsDbNull(dbValue) Then
        Dim intValue as Integer
        If Integer.TryParse(dbValue,intValue) Then
            Select Case intValue
                Case 0
                    strReturn = "not set"
                Case 1
                    strReturn = "low"
                Case 2
                    strReturn = "medium"
                Case 3
                    strReturn = "high"
            End Select
        Else
            strReturn = dbValue.ToString()
        End If
    End If
    Return strReturn
End Function

编辑:

在重新阅读您的问题后,我得到的印象是您希望避免在代码隐藏页面中为此目的编写特定功能.如果是这种情况,您应该将要与键值关联的字符串存储在数据库中,并通过SQL语句将它们拉出来.或者,至少将功能推送到数据访问层.无论哪种方式,GridView列都将通过其数据源显示所需的字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读