【问题标题】:ASP.NET GridView bind two field into one columnASP.NET GridView 将两个字段绑定到一列
【发布时间】:2011-11-30 13:09:20
【问题描述】:

我的 Web 应用程序中有 ASP.NET GridView,我想将两个字段绑定到一列并使用字符串格式。我在下面提供示例,是否可以在 GridView 中实现?

我有两个数据字段 NameDefaultParam,并希望将这些字段显示到一个 GridView 列中。

像这样

Name=DefaultParam

如果 DefaultParam 值为空,我只想显示 Name 值并且不包括 =

我使用Repeater和下面的代码来实现这一点,但现在决定将数据显示移动到GridView

<%#Eval("Name")%>
<%# (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):"" %>

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    您可以使用 TemplateField 并将您的逻辑放入其中:

    <asp:TemplateField HeaderText="Header">
    <ItemTemplate>
    <%#Eval("Name") + (!string.IsNullOrEmpty(Eval("DefaultParam").ToString())) ? "= " + Eval("DefaultParam"):""%>
    </ItemTemplate>
    </asp:TemplateField>
    

    另一种选择是在您的对象上使用属性在幕后为您执行该逻辑并将其用作 BoundField,但您没有提及对象是您的绑定是什么。

    【讨论】:

      【解决方案2】:

      您可以在&lt;%# ... %&gt; 之间简单地编写服务器端代码,就像在后面编写代码一样。只需将其放在 '' 中(在单引号之间)。

      <asp:Lable id="lblxx" runat="server" 
      Text='<%# Eval("Name") + (!string.IsNullOrEmpty(Convert.ToString(Eval("DefaultParam")))) ? "= " + Eval("DefaultParam"):"" %>' />
      

      点击此tutorial 链接了解如何使用模板字段根据数据自定义格式。

      【讨论】:

        猜你喜欢
        • 2011-04-23
        • 1970-01-01
        • 1970-01-01
        • 2012-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-11
        • 2012-09-01
        相关资源
        最近更新 更多