2011-07-30 5 views
0

私は顧客リストを持っています。ListBoxをバインドする際にエラーが発生しました。項目の値はNULLです!

お客様はLinq To SQLデータコンテキストによって生成されたオブジェクトです。

私はListBoxも持っています。 DisplayMemberを "name"に、ValueMemberを "id"に設定しました。

が、私は、次のやろうとしている一方で:

private void FillList(List<Customer> list) 
    { 
     lstCustomers.Items.Clear(); 

     foreach (Customer c in list) // list here is the List<Customer> object 
     { 
      lstCustomers.Items.Add(c); 
     } 
    } 

リスト項目が表示され、正しく(顧客の名前)が、リスト項目の値(IDS)がヌルです!

私の質問はなぜ彼らがnullsですか?

答えて

0

((お客様)lstCustomers.SelectedItemは)問題は、私はそれがデータソースを持っていない場合を除きそれはリストボックス内の項目を扱うから私を防ぐcuzのこと、DataSourceを設定したくないということである

+0

いいえ、これは私の問題ではありません。何が起こるかは、SelectedValueがnullの場合です –

+0

SelectedValueを選択した後に私が正しく理解すると、nullが返されます。その場合、顧客のプロパティがIDまたはIDではなく同じIDであることを確認します。リストからID値が返された場合 – thewayman

+0

また、((Customer)lstCustomers.SelectedItem).idが動作するかどうかを確認してください。 – thewayman

1

リストボックスのデータソースを設定する必要があると思います。

lstCustomers.DataSource = list; 

あなたはおそらくちょうどリストボックスに表示されたCustomerオブジェクトのToString()を見ています。

+0

.ID私は何を考えましたか! –

+0

私はここに@ornに同意します。たぶんあなたはあなたの質問で 'listCustomers.DataSource'の設定がうまくいかない理由を説明できますか? 'DataSource'プロパティが設定されていても、ListBox内の項目を一般的に「扱う」ことができます。 – ckittel

+0

@ckittel、たとえば、データソースが設定されているときにリストボックスから項目を削除しようとすると、データソースが設定されているときに項目を変更できないというランタイムエラーが表示されます。 –

関連する問題