-2

DataGridViewがあり、アイテムのリストを含むComboBoxセル内にあります。これらのアイテムの1つをクリックすると、メインウィンドウにこれらの「アイテム」のコンテンツが表示されます。しかし、ユーザーが小さな矢印をクリックしてアイテムを選択したが、最終的に何も選択しなかった場合、NullReferenceException(オブジェクト参照がオブジェクトのインスタンスに設定されていない)が発生しました。

Googleで、自分のComboBoxCell(または列)を実装する必要があるという何かを見つけましたが、見つけた唯一の例は、私が得たものよりもさらに悪いものです。

参考までに、ComboBoxCellの項目をDataBindingCompleteに入力し、値をRowPrePaintに入力します。そうそう:そして、各ComboBoxCellは「アイテム」の異なるリストを取得しました。

解決策を見つけるのを手伝ってください。

PS誰かが私たちにこの問題がある理由を説明できれば...

4

1 に答える 1

0

ComboBox次のようなコードを使用して、アクセサを介して選択したアイテムを取得している可能性が高いためです。

this.textBox1.Text = MyForm.ComboItemValue();

住宅の形でComboBox、あなたは

public string ComboItemValue
{
    get 
    { 
        if (this.datGridView.CurrentCell.GetType() == typeof(DataGridViewComboBoxCell))
            return this.dataGridView.CurrentCell.Value.ToString();
    }
}

明らかに、値が空のままの場合、これは。を返しますnull

とはいえ、コードを投稿せずに問題を推測することは非常に困難です。

これがお役に立てば幸いです。

于 2012-11-13T16:51:00.283 に答える