2

データセットのレコードを表示している gridview コントロールがあります。データセットには、必要に応じてスペースが埋め込まれたレコードが含まれています。ASP.NET 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をに変更TemplateFieldし、イベントを使用RowDataBoundしてすべてのスペースをに置き換えることです&nbsp;. HTML は、希望する方法でスペースを処理しません。そのため、非改行スペース ( &nbsp;) 文字が必要になります。

または、本当に を使用したい場合はBoundField、SQL クエリを変更して、スペースを に置き換えて&nbsp;バインドします。

于 2012-10-17T16:04:05.633 に答える
0

バインドされたフィールドで、それを HtmlEncode = false としてマークし、使用します

&nbsp;&nbsp;&nbsp;

3つのスペースに入る

于 2015-04-02T18:05:48.060 に答える
0

HTML は、あなたが思っているように空白を処理しません。テキストまたはタグの間に複数のスペースがある場合、ブラウザは余分な空白を無視します。

つまり、以下はまったく同じ方法で画面にレンダリングされます

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

&nbsp;したがって、私が提案するのは、先頭のスペースのそれぞれを、ブラウザ認識する「改行スペースなし」の文字に置き換えることです。

残念ながら、私ができないことは、<BoundField>in a GridView... を使用してそれを行う方法の例を示すことです。私は単にそれを使用したことがないため、コメントできません。

于 2012-10-17T16:00:36.233 に答える
0

ヘッダーの配置のみを設定しているようです。追加したいもの:

ItemStyle-HorizontalAlign="Center"

asp:BoundFieldコントロールへ

于 2012-10-17T15:58:37.180 に答える
0

cssクラスを適用する場合は、これを行います

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