Исключение: коллекция элементов не может быть изменена, если установлено свойство DataSource - PullRequest
0 голосов
/ 27 февраля 2011

У меня был комбинированный список в форме Windows, который привязан к данным из базы данных.

Я сделал это хорошо, но когда я попытался добавить первый элемент <-Пожалуйста, выберите Категория-> для данных из базы данных, эта ошибка появилась

(Коллекция предметов не может быть изменена когда свойство DataSource установлено) в CBParent.Items.Insert (0, "-Выбор -");

    public Category()
        {
            InitializeComponent();
            CategoryParent();

        }
        private void CategoryParent()
        {

            using (SqlConnection Con = GetConnection())
            {

                SqlDataAdapter da = new SqlDataAdapter("Select Category.Category ,Category.Id from Category", Con);
                DataTable dt = new DataTable();
                da.Fill(dt);
                CBParent.DataSource = dt;
                CBParent.DisplayMember = "Category";
                CBParent.ValueMember = "Id";
CBParent.Items.Insert(0, "-select-");
            }
        }

1 Ответ

2 голосов
/ 27 февраля 2011

Вам нужно было бы добавить элемент к самому источнику данных, то есть в запросе SQL, потому что, как говорит ошибка, вы не можете добавлять элементы в элемент управления, если у вас установлен источник данных.

В одну сторонубыло бы получить ваш запрос SQL сделать объединение, как это:

Select Category.Category ,Category.Id from Category

UNION

SELECT 'Please select Category', 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...