2

我有一个 gridview 控件,我在其中显示数据集中的记录。数据集包含根据需要填充空格的记录。我正在尝试按照这篇文章中的解决方案以编程方式更改 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>
4

5 回答 5

5

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

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

于 2012-10-17T16:04:05.633 回答
0

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

ItemStyle-HorizontalAlign="Center"

asp:BoundField控制

于 2012-10-17T15:58:37.180 回答
0

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

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

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

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

不幸的是,我不能做的是给你一个例子,说明你将如何使用<BoundField>in a GridView... 因为我从未使用过它,因此无法发表评论。

于 2012-10-17T16:00:36.233 回答
0

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

            <asp:BoundField>
            <ItemStyle CssClass="MyCSSClass" />
            </asp:BoundField>
于 2012-10-17T16:03:40.270 回答
0

在边界字段上将其标记为 HtmlEncode = false 并使用

&nbsp;&nbsp;&nbsp;

输入 3 个空格

于 2015-04-02T18:05:48.060 回答