タイトル : 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 に書き換えたら、うまく動いたので、こんなものなのかなぁ、、、と思っているしだいです。 私の他のコードがなけれが、仮面弁士さんのコード、そのままつかえるのかなぁと思います。 |