我有一個CheckedListBox。作爲DataSource,我使用我自己的類var dataSource3 = new BindingList<Modells.Person>();
的BindingList。在CheckedListBox中選擇項目,如果它出現在列表中
後來我把它們分類爲alphapetical。
var sorteddataSource3 = new BindingList<Modells.Person>(dataSource3.OrderBy(x => x.lastname).ToList());
並綁定它們。
clbPerson3.DataSource = sorteddataSource3;
clbPerson3.DisplayMember = "lastname";
clbPerson3.ValueMember = "idPerson";
我自己的類的結構是這樣的:
public class Person
{
public int idPerson { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string phonenumber { get; set; }
public string mailadress { get; set; }
public int idCompany { get; set; }
}
現在我有「人」,這是我從一個RestRequest獲得的其他列表:IRestResponse<List<Modells.Person>> selectedPersons = client.Execute<List<Modells.Person>>(request);
而現在的任務是在CheckedListBox sorteddataSource3
中設置從selectedPersons
中選中的人員。
我在這個時間點解決辦法是:
for (int i = 0; i < selectedPersons.Data.Count; i++)
{
if (selectedPersons.Data[i].idCompany.Equals(comboBox3.SelectedValue))
{
int index3 = clbPerson3.Items.IndexOf(selectedPersons.Data[i].idPerson);
clbPerson3.SetItemChecked(index3, true);
}
}
首先我檢查,如果該人被顯示在CheckedListBox。 然後我嘗試獲取該人員的索引。這是我的錯誤。 index3
總是-1
。
我正在尋找解決方案來設置在CheckedListBox中選中的項目。
你的問題似乎混淆了__selecting__和__checking__。 – TaW