none
GridViewやListViewで行単位の折り返し RRS feed

  • 質問

  • GridViewやListViewで、セル単位での文字の折り返しをする方法はわかったのですが、

    行単位で折り返す方法が見つかりませんでした

     

    セル内での折り返し

    |  列1  |  列2  |  列3  |

    |データ   |データ  |セル内での|

    |       |      |折返    |

     

    行単位での折り返し

    |  列1  |  列2  |

    |  列3  |

    |データ   |データ  |

    |行単位の折返|

     

    Accessのように1行(1データ)を複数の行を表示することによって、項目が多いものでも横スクロールをしなくてもいいようにしたいのですが、これを実現するにはユーザーコントロールを作成したりオーナードローで描画する以外に手軽な方法はないのでしょうか?

    2007年6月21日 8:15

回答

  • GridViewという言葉からASP.NETのことだと思ったのですが、Windowsフォームのことだったようですね。ItemTemplateはご察しの通り、Webアプリケーションで使用するものです。
    さて、DataGridViewで実現しようと思うと、CellPaintingイベントで自分で描いてしまうのが一番簡単でしょう。
    Accessのようにフォームを連続で表示させるようなことは以前から度々話題に上りますが、このような形式を.NETに持ち込むのは、消極的みたいです。
    2007年6月22日 2:49
    モデレータ

すべての返信

  • 一つのItemTemplate内に複数の列に対応するLabelやTextBoxを配置すれば可能です。
    2007年6月21日 8:31
    モデレータ
  • ItemTemplateとはWebアプリケーションの機能でしょうか?

    Windowsアプリケーションで使用できるか調べましたが

    Webアプリケーションの解説ページしか見つかりませんでした

    2007年6月22日 1:22
  • WindowsアプリケーションにはDataGridViewはありますが、GridViewはありませんよ?

    このあたり正確に記述するか、最初からWindowsアプリケーションだということを記述していないと、正しい答えにいきつけません。

    で、実際にはWindowsアプリを作成されているのでしょうか?

    2007年6月22日 1:50
  • GridViewという言葉からASP.NETのことだと思ったのですが、Windowsフォームのことだったようですね。ItemTemplateはご察しの通り、Webアプリケーションで使用するものです。
    さて、DataGridViewで実現しようと思うと、CellPaintingイベントで自分で描いてしまうのが一番簡単でしょう。
    Accessのようにフォームを連続で表示させるようなことは以前から度々話題に上りますが、このような形式を.NETに持ち込むのは、消極的みたいです。
    2007年6月22日 2:49
    モデレータ
  • ひょっとして基本プロパティなどで折り返ししてくれるかもと期待していたんですが、

    やはり自分で描くのが一番簡単ということですね

    オーナードローで独自に行単位の折り返しをして表示する方法をとりました

    ありがとうございました

    2007年6月25日 2:11