DataGridViewにユーザコントロール列を表示する方法

解決


モモ  URL  2007-11-03 01:56:28  No: 138041

VB.NET2005です。
DataGridViewにユーザコントロール列を表示(DataGridViewに
ホスト)させたいので、
http://msdn2.microsoft.com/ja-jp/library/7fb61s43(VS.80).aspx
を参考に作成しています。
このサンプルはpaintメソッドで”くぼんだ四角形を描画”する
ものですが、ここでユーザコントロールを表示するように
すればよいのでしょうか。
その場合はどのように記述すればよいのですか?
別途作成したユーザコントロールとDataGridViewColumnを
どのように関連付けるのかが分かりません。
教えて下さい。
何卒よろしくお願い申し上げます。


特攻隊長まるるう  2007-11-07 00:18:28  No: 138042

# 同じハンドル名の方に過去、DataGrid 系で何度かレスした記憶があるんだけど、
# 正直、同じ人ならもうそろそろ初心者は脱皮してくれと願う今日この頃。

>このサンプルはpaintメソッドで”くぼんだ四角形を描画”する
>ものですが、ここでユーザコントロールを表示するように
>すればよいのでしょうか。
1つのセルの形式をデータグリッドの機能が1列全てのセルに適用するような
仕組みから考えるといまいちでは?ってゆーか全部自分で描画する必要が
あるから、描画系のメソッドのみ使うならユーザコントロールを作る意味が
無いのでは?
ユーザコントロールの Image を取得して表示って方法もあるかもしれない
けど、行ごとに表示データが違うだろうし、『編集が出来るように』ってなって
くれば更に工夫が必要になるかも。。。まぁ、でももともとテキストボックス
1つ表示して編集させてるだけだから、そう難しくもないのかも。。。
過去ログで DOBON さんところの Tips を紹介してるので参考にして考えてみる
とか。

『DataGridView ユーザコントロール』でぐぐったらそのまま使えそうな内容は
C#で転がってました。
http://blogs.wankuma.com/rti/archive/2007/05/30/78817.aspx

まあ、どの程度の融通が利くかは分からないけど、DataGridViewTextBoxCell
あたりを継承したユーザコントロールにしておけば動いても不思議ではないと
思います。


モモ  2007-11-07 00:51:47  No: 138043

レスありがとうございました。
教えて頂いたサイト(検索で上がって来たものも含むj)は
既に目を通していて、チャレンジしてみたのですが、
いくらやってもただのテキストボックスしか表示されないで、
結局私の作ったユーザコントロールを表示させることは
出来ませんでした。
paintメソッド辺りなど今回はサンプルソースの意味すら
理解出来なかったのでご質問させて頂きました。
この部分の処理は他の方法で対応することにしました。
本当にお騒がせをして申し訳ございませんでした。
ありがとうございました。


もげ  2007-11-07 02:49:14  No: 138044

サンプルとしては、たとえば、
http://www.vbforums.com/showthread.php?t=445803

場合によっては、こちらのほうがリーズナブルかもしれません。
http://www.grapecity.com/japan/support/database/P7_343.htm


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加