2012-05-07 5 views
2

私は、2つの列:messageidmessageDescを持つテーブルを含むアプリケーションを持っています。 messageDesc列の中にメッセージの説明があります。 GridViewを列にバインドしようとすると、列全体が1行に表示されるため、ユーザーは完全なテキストを表示するために水平方向にスクロールする必要があります。私は、複数の行に記述の流れを持たせることでこれを防止したい。これはどうすればいいですか?ASP.NET:GridViewセルを複数の行に再フローする方法

ItemStyle属性を使用しようとしましたが、機能しません。解決策を提案してください。これに加えて、データベースメッセージの内容を変更することはできません。

ありがとうございます。

+0

「説明」にスペースがありますか? –

+0

これは、面のテクスチャとアウトスペースの両方に依存します。 – user1379430

+0

は、以下のスタイルをグリッドビューに追加します:word-break:break-all; word-wrap:break-word; overflow:hidden; table-layout:fixed; '各列の幅を適用する [リンク](http://forums.asp.net/t/1285203.aspx/1?how+to+fix+the+length+of+gridview+column) –

答えて

0

ワープラベルinsdieのdiv要素と試してみるよりも、あなたが

<asp:TemplateField> 
     <ItemTemplate> 
      <div style="width:100px;"> 
       <asp:Label ID="Label2" runat="server" Text="<%# Eval("description") %>"></asp:Label> 
      </div> 
     </ItemTemplate> 
    </asp:TemplateField> 

または

<ItemStyle Wrap="true" Width="100px" /> 
+0

申し訳ありません、親愛なる、しかしこれは私のためにはたらきません – user1379430

0

あなたはテンプレートフィールドの代わりに、バインドされたフィールドを使用して、テキストボックス内のデータを表示できるため、これは確かに動作します。以下、テキストボックスのコードを参照してください。あなたのTemplateFieldは次のようになります:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" Text='<%# Eval("MessageDesc") %>' 
      TextMode="MultiLine"></asp:TextBox> 
    </ItemTemplate> 
</asp:TemplateField> 

ReadOnly設定では、ユーザーがデータを有効にしたまま編集することはできません。編集モードでは、もちろん、ReadOnlyをfalseに設定します。

+0

実際には、私は以前ソリューションを実装しましたが、テキストボックスはスクロールパンを思い付くので、 – user1379430

関連する問題