【问题标题】:Displaying blank in a TemplateField if with two fields if one is null如果有两个字段,如果一个为空,则在 TemplateField 中显示空白
【发布时间】:2019-12-09 08:40:21
【问题描述】:

我已将两组数据字段组合成一个网格视图中的模板字段。如果其中一个字段为空,则不应显示任何内容,但是如果第二个字段确实包含一些数据,则应在第一行显示第一个金额的 $x.xx,在第二行显示第二个金额的 $x.xx .到目前为止,如果它为 null,它只会在第二行显示 $0.00(由于 String.format)。

正如您在下面的代码中看到的,我所说的两个字段是CarrierPayAmountExtraPay1Amount

谁能在这里给我一些语法帮助?我已经尝试过一点,但无法让它正常工作。我认为这可以通过if(eval("val") is DBnull.val 以某种方式完成。

<asp:BoundField DataField="CarrierName" HeaderText="Carrier" SortExpression="CarrierName" />
    <asp:TemplateField HeaderText="Charge">
        <ItemTemplate>
            <%#String.Format("{0:c} {1:c}", Eval("CarrierPayAmount"), Eval("ExtraPay1Amount"))%>
        </ItemTemplate>
    </asp:TemplateField>

【问题讨论】:

    标签: asp.net vb.net gridview


    【解决方案1】:

    可以使用?:条件运算符

    您的代码将是这样的:

    <%#String.Format("{0:c} {1:c}", Eval("CarrierPayAmount").ToString() == null ? "" : Eval("CarrierPayAmount").ToString(), Eval("ExtraPay1Amount").ToString() == null ? "" : Eval("CarrierPayAmount").ToString())%>
    

    【讨论】:

      猜你喜欢
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多