tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^8: DataGridViewのComboBox...
投稿日: 2007/05/16(Wed) 22:01
投稿者area88
こんにちは、area88です。

>あれ? 実行時のエラーではなく、コンパイル時のエラーですか。
>Dim value As String = dgv(e.ColumnIndex, e.RowIndex).Value.ToString()

私もあれ?今回試してみると、実行エラーで、
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
とでました。
ただ、魔界の仮面弁士さんコード以外に、いろいろと他の部分(私のコードなど)変更を加えたので、それで、コンパイルが通ったのかな?
昨日、仮面弁士さんのコードをコピーし、私の仕様(例:DataGridview3など)に
変更しただけの時は、確か、、、Form1がうんぬんかんうんだったような、、、。
とにかく、コンパイルのときに停止して、実行ともう一つ何か選択ボタンが出て、
どちらをクリックしても、終了してしまいました。

>Dim value As String = dgv(e.ColumnIndex, e.RowIndex).Value
これは、実行時エラーでないですね。問題なしです。

>If value IsNot Nothing Then
>     MessageBox.Show( value.GetType().FullName )
>     MessageBox.Show( value.ToString() )
>  Else
>     MessageBox.Show( "Nothing" )
>  End If
>を試すと、どのような型名が表示されるのでしょうか

「System,String」というメッセージボックスが出て、実行時エラーで止まります。
この実行時エラーは、何か文句を言われるのではなく、コンボボックスの内容が表示されません。

どうやら、今回は、Dim value As String = dgv(e.ColumnIndex, e.RowIndex).Value
でもOKなようで、、、。
私、VB2005を始めて、たった3週間で、リファレンスやら入門書をあっちこっちひっくり返して
アプリを作成しております。
実際、ある程度動きますが、もっとすっきりしたコードになるんでないかと思いながら
悪戦苦闘しております。
今回、Dim dgv As DataGridView = DirectCast(sender, DataGridView)
      Dim value As String = dgv(e.ColumnIndex, e.RowIndex).Value.ToString()を

   Dim value As Object = DataGridView3(e.ColumnIndex, e.RowIndex).Value
に書き換えたら、うまく動いたので、こんなものなのかなぁ、、、と思っているしだいです。
私の他のコードがなけれが、仮面弁士さんのコード、そのままつかえるのかなぁと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。