在checkedlistbox IF中设置已选中/已选中

时间:2017-01-21 16:05:46

标签: c# winforms dataset checkboxlist checkedlistbox

我找到了这个主题,但我不知道如何更改我的代码。

主题:Set checked items in checkedlistbox from list or dataset

我的代码:

        public void CheckSeat()
    {
        CinemaDataSetTableAdapters.QueriesTableAdapter tmp = new CinemaDataSetTableAdapters.QueriesTableAdapter();
        foreach (var seats in SeatcheckedListBox.Items)
        {
            string kom = "";
            if (comboBox3.SelectedValue != null)
                tmp.CheckSeat(seats.ToString(), Convert.ToInt32(comboBox3.SelectedValue.ToString()), ref kom);
                if (kom == "Exists")
            {

                //here i want select value as check

            }




        }


    }

1 个答案:

答案 0 :(得分:0)

首先,不要将foreach用于此目的,因为它不允许在迭代时更新/删除/插入,而是使用for循环。 当你在kom变量中找到值时,这意味着需要检查该值的复选框,因为它存在于你的tmp中。现在您只需要检查项目,使用以下代码

        CinemaDataSetTableAdapters.QueriesTableAdapter tmp = new CinemaDataSetTableAdapters.QueriesTableAdapter();
        for (int i = 0; i < SeatcheckedListBox.Items.Count; i++)
        {
            if (comboBox3.SelectedValue != null)
                tmp.CheckSeat(SeatcheckedListBox.Items[i].ToString(), Convert.ToInt32(comboBox3.SelectedValue.ToString()), ref kom);
            if (kom == "Exists")
            {
                SeatcheckedListBox.SetItemChecked(i, true);
            }
        }

我已经编辑了答案,希望能解决您的问题。