【问题标题】:If condition on a gridview for boundfield?如果边界字段的网格视图条件?
【发布时间】:2013-04-25 12:04:00
【问题描述】:

我有一个带有以下boundfiled 的gridview。 DataField 是十进制值。如果该值高于 0,我想在 grdiview 中显示为 True,否则为 false。怎么办,如果为 boundfileld 的条件。谁能帮忙。如果可以提供解决方案,我可以使用 TemplateField。

<asp:BoundField HeaderText="fieldone" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"
    DataField="Higher" NullDisplayText="0">
    <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
    <ItemStyle HorizontalAlign="Left"></ItemStyle>
</asp:BoundField>
<asp:BoundField HeaderText="fieldtwo" Rebate" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"
    DataField="Lower" NullDisplayText="0">
    <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
    <ItemStyle HorizontalAlign="Left"></ItemStyle>
</asp:BoundField>

【问题讨论】:

  • 有什么理由不能使用模板字段?还是不能在绑定前更改数据源?
  • 我可以使用模板字段。
  • @Damith:什么是 ItemStyle-CssClass="TemplateFieldOneColumn?
  • 下面的代码应该在ascx页面还是ascx.vb页面?我使用 vb.net.public string GetLabelText(object dataItem) { string text = "";诠释? val = dataItem as int?; switch (val) { case 1: text = "Pending";休息;案例2:文本=“已删除”;休息; } 返回文本; }

标签: .net vb.net gridview boundfield


【解决方案1】:

您可以使用模板字段并在其中放置标签控件。类似的东西

<asp:TemplateField>
                <ItemTemplate>
                    <asp:Label ID="lblStatus" runat="server" Text='<%# (Convert.ToDecimal(Eval("UnitPrice")) > 0) ? "True" : "False"   %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>

或者,您也可以使用 gridview 的RowDataBound 事件并使用FindControl 来应用相同的。

【讨论】:

  • 当我使用此代码时,在服务器页面中出现错误“The '?”此处不能使用字符。”
  • @software 这对我有用。 .您可能缺少一个封闭的引号。请确保所有服务器端代码都正确括在单引号内''
猜你喜欢
  • 1970-01-01
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多