0

List<object>a を取り込むメソッドに aを渡していcheckedListBoxます。私の理解では、オブジェクトをアイテムにObject.ToString()関連付け、読み取り可能な文字列を表示します。checkedListBoxObject.Name はこれを実現しますが、データはアイテムに関連付けられていません。アイテム のValueMemberプロパティにアクセスするにはどうすればよいですか?checkListBox

public void CategoryListBox(List<Category> categoryList)
{
    checkedListBox1.Items.Clear();

    foreach (Category category in categoryList)
    {     
        checkedListBox1.Items.Add(category);
    } 
}
4

1 に答える 1

0

ValueMember のCheckBoxList

コーディングビズ氏の回答から、プロパティに関するこのコントロールcheckListBoxについて簡単な調査を行ったので、明らかにインテリセンスからこれ をValueMemberナビゲートできないため、このプロパティは既に含まれているが表示されていないことがわかりました。詳細については.DisplayMember.ValueMembercheckListBoxcheckListBox

すべての名前を一覧表示するには

Linq を使用することで、これを実現できます。

  public class Category
  {
    public int Id { get; set; }
    public string CategoryName { get; set; }
  }


  List<Category> category = new List<Category>();
  category.Add(new Category { Id = 1, CategoryName = "test"  });
  category.Add(new Category { Id = 2, CategoryName = "let" });
  category.Add(new Category { Id = 3, CategoryName = "go" });
  checkedListBox1.DataSource = category;
  checkedListBox1.DisplayMember = "CategoryName";
  //checkedListBox1.ValueMember = "Id"; 
  //checkedListBox1.Items.AddRange(category.Select(c => c.CategoryName).ToArray());

この回答から少しでも理解していただければ幸いです。

于 2013-01-28T01:47:02.567 に答える