私がやろうとしているのは、最初のcheckedlistboxで選択されたアイテムに基づいて2番目のcheckedlistboxにデータを入力し、最初のボックスで親がチェックされていないときにデータベースからアイテムを削除することです。チェックされたアイテムのみをループすることで 2 番目のボックスに入力できますが、テーブルから削除する場合は、チェックされていないアイテムも含める必要があります。これが私が現時点で持っているコードです:
for (int i = 0; i < ckbObjectives.Items.Count; i++)
{
objectiveTableAdapter.ClearBeforeFill = false;
if (ckbObjectives.GetItemChecked(i))
{
this.objectiveTableAdapter.FillByParentObjective((CWSToolkitDataSet.ObjectiveDataTable)cWSToolkitDataSet.Tables["ChildObjectives"], Convert.ToInt32(((DataRowView)ckbObjectives.Items[i])[ckbObjectives.ValueMember].ToString()));
}
else
{
this.objectiveTableAdapter.Delete((CWSToolkitDataSet.ObjectiveDataTable)cWSToolkitDataSet.Tables["ChildObjectives"], Convert.ToInt32(((DataRowView)ckbObjectives.Items[i])[ckbObjectives.ValueMember].ToString()));
}
}
cblSubObjectives.DataSource = cWSToolkitDataSet.Tables["ChildObjectives"];
cblSubObjectives.DisplayMember = "Title";
cblSubObjectives.ValueMember = "ObjectiveID";
エラーは発生していませんが、2 番目のチェックリストボックスに値が入力されていません。どんな助けでも大歓迎です。ありがとうございました!