DOBON.NET DOBON.NETプログラミング掲示板過去ログ

GridViewでカラムの最大幅を決める

環境/言語:[.NET 3.5, C#]
分類:[ASP.NET]

こんにちは。

現在、DataGridを利用して、表を表示させています。
Wrap = falseとして、自動的に幅の調整をさせているのですが、これだとどんなに長くても1行で描写してしまいます。

可能なら、各列の最大幅を設定して、それ以下の範囲内では自動調整、それ以上になる場合は、最大幅で固定、としたいのですが、可能でしょうか?

プロパティ、max-widthなどは調整してみましたが、うまくいかず、質問させていただきました。

宜しくお願いします。
■No30098に返信(ムックさんの記事)
可能だと思います。WrapプロパティにTrueをセットしてテーブルのセルにcssでmax-width
を指定してできなかったですかね。セルにはどのような文字列がありますか? 列の幅は
期待したものより長くなりましたか? それとも短くなりましたか? 文字列が英数字の
羅列のときには英数字の途中で折り返しがされず列の幅が期待したものより長くなる可能
性があります。そんなときにはcssでword-wrap:break-wordやword-break:break-allを指
定することで英数字の途中で折り返しがされ列の幅が期待したものより長くなることを回
避することができます。

こんなスタイルシートを用意して列のItemStyleのCssClassプロパティにwrapColumnをセ
ットするとよいのでないかと思います。
<style type="text/css">
    .wrapColumn 
    {
        max-width:8em;
        word-wrap:break-word;
        word-break:break-all;
    }
</style>

DOBON.NET | プログラミング道 | プログラミング掲示板