DataGridViewで1レコードを2行で出したい。

タグの編集
投稿者 SOS  (社会人) 投稿日時 2010/8/22 06:34:33
DataGridViewに1レコードを2行に出力させて、横スクロールを出ないようにしたいのですが、
どうすればよいのでしょうか?


No.       |  発注No.  | 商品コード |
メーカーコード|メーカー名    |   商品名  |
--------------------
001       |   09090909   |  00008    |
 0009      | 株式会社○○ |  テレビ  |
002       |   09090910   |  00009    |
 0019      | 株式会社×× |  コンポ  |




投稿者 るきお  (社会人) 投稿日時 2010/8/22 10:25:56
ストレートには無理だったと思います。
本来の1レコードを内部的に2レコードに分割するか、オーナー描画を使用することになると思います。
市販のコンポーネントではそのような段組みをサポートしているものもあります。このようなコンポーネントはグレープシティ社が強いです。

1画面だけの特別仕様で、表示のみで入力がないのであればオーナー描画での逃げもあるかもしれませんが、複数画面あったり、入力も必要だったり、あるいは今後機能追加、機能変更等が想定され柔軟性を確保する必要があるのであれば市販のコンポーネントを利用すると良いと思います。

ごく少数の個所で逃げられるならDataGridViewじゃなくて、ListBoxなどでの逃げも考えられますね。
Web化できるんならVBの機能だけでできるんですが…。
投稿者 SOS  (社会人) 投稿日時 2010/8/23 02:00:51
るきおさん、返答ありがとうございます。

やはり、簡単にはいきませんか。
グレープシティ社のMultiRowなどがあるとは知っていたのですが
費用がかかるため、無理そうです。
今回は、表示のみで入力がなく1画面だけなので何とか自力でやってみます。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/8/23 02:30:32
DataGridView の代わりに、Visual Basic Power Pack 3.0 の
DataRepeater コントロールを使ってみるとか。
http://www.microsoft.com/downloads/details.aspx?FamilyId=371368A8-7FDC-441F-8E7D-FE78D96D4063&displaylang=en
http://www.vbstation.net/tips/datarepeater.htm
http://msdn.microsoft.com/ja-jp/library/cc488280.aspx
投稿者 SOS  (社会人) 投稿日時 2010/8/30 20:28:28
魔界の仮面弁士さん、返事が遅れましたがありがとうございました。

魔界の仮面弁士さんのアドバイスのおかげで望んだものを作ることができました。