2009-05-26 22 views
5

グリッドのRowStyle WrapプロパティとWrapプロパティを変更しようとしました。行のテキストの長さに関係なく、Gridviewのワードラップを停止するにはどうすればよいですか?Gridviewのワードラップ

+0

のために働いて何ですか?その列をテキストの長さに合わせて拡大したいのですか?または、列の幅に基づいてテキストを切り捨てるだけですか? – CodeLikeBeaker

+0

はい、列を展開したいと思います。私はASPの古典でHTMLを書くことに慣れていると思います。 – Eric

答えて

9

これはRowStyleではありません。各項目のラップ設定を列の下に設定する必要があります。

<asp:GridView ID="GridView1" runat="server"> 
    <Columns> 
     <asp:BoundField> 
     <ItemStyle Wrap="False" /> 
     </asp:BoundField> 
     <asp:BoundField> 
     <ItemStyle Wrap="False" /> 
     </asp:BoundField> 
    </Columns> 
</asp:GridView> 

これは、個々の列ごとに行う必要があります。あなたはコードビハインドでメソッドを設定して、それを行うことができます。

+1

このメソッドは、ASP.NET 4、IE 8の私のために働いた。私はそれがnoWrap = "noWrap"をtd要素に追加したと信じている。 noWrapは明らかに廃止予定ですが、td要素に次のスタイルを追加する方が良いでしょう:style = "white-space:nowrap" – Mike

+1

@Mike:マイクロソフトのスピードに響きます。よりクロスブラウザ対応のメソッドでは、あなたのスタイル ''を追加することになります。 –

1

ジェイソンはthis blog postに書いている:

データベースからの長いテキストを読み込むときに、私はGridViewのと同じ問題に直面していました。私は、DIVメソッドを使って、CSSスタイルを使ってテーブルを右に広げないようにしました。テキストが長すぎるかどうかを示しているelipsisで今すぐ動作させるようにしました。しかし、これは私がユーザーに誤解を与える可能性のあるグリッドビューにテキスト全体を表示することができないことを意味します。

私は別のスタイルを「word-break:break-all」と追加して、テキストをテーブルに適切に収めて、欲しい結果を得ました。以下は、私のコードの一部です:

<style type="text/css"> 
    .DisplayDesc { width:500px; word-break: break-all; } 
    .DisplayDiv { width:500px; OVERFLOW:hidden; TEXT-OVERFLOW:ellipsis;} 
</style> 

<asp:TemplateField HeaderText="Log Description"> 
    <ItemStyle Font-Names="Tahoma" Font-Size="X-Small" 
       HorizontalAlign="Left" Wrap="True" /> 
    <ItemTemplate> 
     <div class="DisplayDiv"> 
      <asp:Label CssClass="DisplayDesc" ID="Label1" runat="server" 
         Text='<%# Bind("TransText") %>'></asp:Label> 
     </div> 
    </ItemTemplate> 
</asp:TemplateField> 
0

だけのCSSクラスでNOWRAP設定され、タグにまたがるようにそのクラスを適用し、そのspanタグの内側にあなたのlableを入れ、

スパンクラス=「yourclassname」あなたのASPタグ/スパン

0

これはあなたが達成しようとしているものを私

<asp:GridView ID="SomeGridView" CssClass="gridtext" > 

.gridtext 
{ 
    white-space: nowrap; 
} 

.gridtext table 
{ 
    white-space: nowrap; 
} 
.gridtext tr 
{ 
    white-space: nowrap; 
} 
.gridtext td 
{ 
    white-space: nowrap; 
} 

.gridtext th 
{ 
    white-space: nowrap; 
}