【问题标题】:displaying space padded records in asp.net gridview在 asp.net gridview 中显示空格填充的记录
【发布时间】:2015-04-03 02:05:48
【问题描述】:

我有一个 gridview 控件,用于显示数据集中的记录。数据集包含根据需要填充空格的记录。我正在尝试遵循这篇文章中的解决方案programatically change style (padding) of a column in ASP.NET GridView

但是,当我在 gridview 中显示它们时,记录显示为左对齐。

如何显示空格填充的记录?

<asp:GridView runat="server" ID="gvCustomer" Visible="false"
    Width="350px" CellSpacing="1" ClientIDMode="Static" CellPadding="2" 
    AutoGenerateColumns="false" OnRowDataBound="gvCustomer_OnRowDataBound"
    ViewStateMode="Enabled" EmptyDataText="">
        <Columns>
            <asp:BoundField DataField="CustomerName" ControlStyle-Width="225px" HeaderStyle-HorizontalAlign="Center" HeaderText="Customers" />
        </Columns>
</asp:GridView>

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    您需要做的是将您的BoundField 更改为TemplateField,并使用RowDataBound 事件将所有空格替换为&amp;nbsp;。 HTML 不会以您想要的方式处理空格,这就是您需要不间断空格 (&amp;nbsp;) 字符的原因。

    或者如果你真的想使用BoundField,修改你的sql查询,用&amp;nbsp;替换空格并绑定。

    【讨论】:

    • +1 用于 BoundField 解决方案。如果你做了很多,TemplateField 可能会很痛苦......(除非你以编程方式生成它们)
    • 我确实修改了 SQL 并将空格替换为  但是现在gridview显示“  CustomerA”.....但是,我改变了“ ”到直连字符....只是为了区分父母和孩子。感谢您的帮助。
    【解决方案2】:

    看起来您只是在设置页眉的对齐方式。您要添加:

    ItemStyle-HorizontalAlign="Center"

    asp:BoundField 控件

    【讨论】:

    • 我相信他有一个字符串首先用空格填充,例如他想在他的网格视图中显示的“名称”,而不是左/中/右对齐。
    • 我很困惑@DotNetRookie:你的问题是“但是,当我在 gridview 中显示它们时,记录显示为左对齐。”所以假设填充有效,但对齐没有。数据集中保存的空间是什么?  还是只是空间?
    • @Charx.. 数据集返回“CustomerA”...而不是“nbsp;nbsp;nbsp;CustomerA”
    【解决方案3】:

    HTML 并不像您认为的那样处理空格。如果文本或标签之间有多个空格,浏览器将忽略任何多余的空格。

    换句话说,以下内容将以完全相同的方式呈现在屏幕上

    <b>Hello                     World</b>
    <b>Hello World</b>
    

    所以,我建议您将每个前导空格替换为浏览器注意到的“无中断空格”字符&amp;nbsp;

    不幸的是,我不能给你一个例子,说明你将如何在GridView 中使用&lt;BoundField&gt; 来做到这一点...因为我根本没有使用过它,所以无法评论。

    【讨论】:

      【解决方案4】:

      如果您想申请 css 课程,请执行此操作

                  <asp:BoundField>
                  <ItemStyle CssClass="MyCSSClass" />
                  </asp:BoundField>
      

      【讨论】:

        【解决方案5】:

        在绑定字段上将其标记为 HtmlEncode = false 并使用

        &nbsp;&nbsp;&nbsp;
        

        输入3个空格

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多