【问题标题】:ASP.NET Grid view Data filed Column Formatting Not workingASP.NET 网格视图数据字段列格式不起作用
【发布时间】:2018-03-09 09:28:58
【问题描述】:

我的 GridView 列格式有问题。 我有一个PhoneNumber,目前来自数据库,为 (###)###-##### 但我希望格式为############# 没有空格和括号。我已经尝试过DataFormatString="{0:###-####}" 之类的所有方法,或者将其转换为 TemplateField 并为其提供格式但不起作用。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
  <Columns>
    <asp:TemplateField HeaderText="Phone Number">
      <EditItemTemplate>
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# 
            Bind("PhoneNumber") %>'></asp:TextBox>
      </EditItemTemplate>
      <ItemTemplate>
        <asp:Label ID="Label1" runat="server" 
            Text='<%# Bind("PhoneNumber", "{0:d}") %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>

这是在将列转换为 TemplateField 之前:

 <asp:BoundField DataField="PhoneNumber" HeaderText="Phone Number Home" 
     SortExpression="Phone" DataFormatString="{0:######-####}" HtmlEncode="false" />

但没有任何效果。我仍然得到这样的电话号码格式(123) 123-4567

【问题讨论】:

    标签: c# sql asp.net gridview


    【解决方案1】:

    尝试替换TemplateField中的Text属性:

    Text='<%# Bind("PhoneNumber", "{0:d}") %>'
    

    与:

    Text='<%# String.Format("{0:##########}", 
                      Convert.ToInt64(DataBinder.Eval(Container.DataItem, "PhoneNumber")))%>'
    

    使用"#" Custom Specifier

    【讨论】:

    • 输入字符串的格式不正确。我不断收到此错误,我什至尝试了其他格式,它不会自行解决。
    • 异常详情:System.FormatException:输入字符串格式不正确。
    • 我已经参考自定义格式说明符编辑了我的答案。
    • ' '
    • 这是前面有#东西的样子,但它仍然给我错误。
    【解决方案2】:

    如果您在后面的代码中动态绑定行,您应该在 gridview 的 DataBind 事件中格式化列。

    语义列格式仅在您使用语义绑定数据时才有效,例如声明

    【讨论】:

    • 我不太明白我是如何尝试 onRoDataBound
    【解决方案3】:

    格式化只是加法,而不是减法。为此,您需要公开一个已去除非数字的值的版本,以便您的客户端格式可以对其进行操作。

    【讨论】:

    • 非数字被剥离?你的意思是括号被去掉了,但是如何?我应该使用什么代码
    • @Haseeb.A 当您从数据源中检索电话号码时,您应该去掉非数字字符并将其视为字符串,或者去掉非数字字符并将其处理作为整数。在任何一种情况下,您都可以应用格式。关于如何在 C# 中去除值有很多答案。
    猜你喜欢
    • 2016-11-07
    • 2015-04-28
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多