0

私はこれを回避して解決策を得るために取り組んでいますが、

>  <asp:GridView ID="GridView1" runat="server" EnableViewState="False"
> BorderWidth="1"
>                     HorizontalAlign="Left" HeaderStyle-BackColor="#5c7990" CellPadding="4" ForeColor="#333333"
>                     AutoGenerateColumns="false" GridLines="None" DataKeyNames="ID" AutoGenerateDeleteButton="false"
>                     EmptyDataText="No records found" CssClass="GridView123" Width="90%" 
>                     OnRowCreated="GridView1_RowCreated">
>                     <HeaderStyle CssClass="GridHeader" />
>                     <FooterStyle CssClass="GridFooter" />
>                     <RowStyle CssClass="RowStyle" VerticalAlign="Top" Wrap="true" />
>                     <AlternatingRowStyle CssClass="AlternateRowStyle" VerticalAlign="Top" Wrap="true" />
>                     <Columns>
>                         <asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-Width="20%">
>                             <ItemStyle Width="20%"></ItemStyle>
>                         </asp:BoundField>                        
>                         <asp:TemplateField HeaderText="Name" ItemStyle-Width="100%" ItemStyle-Wrap="true">
>                             <ItemTemplate>
>                                 <span id="PName<%# Eval("ID") %>">
>                                     <%# Eval("Name") %></span>
>                             </ItemTemplate>
>                             <ItemStyle Wrap="True" Width="100%"></ItemStyle>
>                         </asp:TemplateField>
> 
> </columns> 
<asp:GridView>

これが私のグリッド ビューです。私の問題は、グリッドビューの幅が異なるデータで変化していることです。列に巨大なデータがある場合は拡大され、列が小さなデータで満たされている場合は縮小されます。

列にもラッピングを適用しました

データが入力されても、一貫して一意のサイズで表示されるグリッド ビューが必要です。

ご助力いただきありがとうございます...

4

3 に答える 3

0

これは、% width を使用しているためです。代わりに固定幅を使用してください。必要な最大幅を決定するには、試行錯誤が必要になる場合があります。代わりに CSS で幅を設定し、クラスを列に適用します。

これを見てください:

http://www.emadmokhtar.com/2012/07/add-elegant-style-to-asp-net-webforms-gridview-controls/

理想的には、クリーンなマークアップが必要な場合は、テーブルを生成しない ListView を使用する必要があります。

于 2012-10-11T06:06:41.960 に答える
0

幅を<asp:GridView ...からWidth="90%"に設定Width="640"すると、640 ピクセルの標準幅になります。

テキストをワープさせて大きくしないようにするには、ItemStyle-Wrapを true に設定しないようにする必要があります。

ItemStyle-Wrap="false"

于 2012-10-11T06:23:01.673 に答える
0

冗長な幅属性がたくさんあります。同じ列の BoundField と ItemStyle で宣言する必要はありません。ただし、問題が発生していると思われる理由は、120% の設定を行っているためです。

私が数え切れないほど HTML を扱ってきた中でわかったことは、テーブルの列にパーセント幅を使用し、100% を超えないようにし、常に 1 つの列を幅なしのままにしておくことです。すべての列を合計して 100% 幅にしたとしても、テーブルが奇妙なことをするのを見てきました。私は通常、「メイン」列以外のすべての幅を定義し、残りの幅を取ります。

于 2012-10-11T06:24:54.023 に答える