Пользовательские элементы со списком и связанные с данными элементы

Я сделал поле со списком и добавил элемент и загрузил данные из функции источника данных getBS() возвращает источник привязки.

comboBox1.Items.Insert(0, "ALL");
comboBox1.DataSource = getBS();

когда я комментирую источник данных, он показывает только элемент "все", но когда код подобен этому, он показывает только данные, но не показывает атрибут "все". Есть ли способ сделать все это вместе? Показать атрибут "все" и остальные данные?

2 ответа

Решение

MSDN говорит

Источником данных может быть база данных, веб-служба или объект, который впоследствии можно использовать для создания элементов управления с привязкой к данным. Когда свойство DataSource установлено, коллекция элементов не может быть изменена.

Так какие у тебя варианты сейчас?

BindingSource GetBS(bool addAll = false)
{
    ......
    con.Open(); 
    cmd = new SqlCommand("uspPodruznicaSelect", con); 
    da.SelectCommand = cmd; 
    da.SelectCommand.CommandType = CommandType.StoredProcedure; 
    da.Fill(dbtable); 

    if(addAll)
    {
        DataRow dr = dbTable.NewRow();
        dr["ItemID"] = 0;
        dr["ItemData"] = "ALL";
        dbTable.Rows.InsertAt(dr, 0);
    }

    bsource.DataSource = dbtable; 
    con.Close(); 
    return bsource;
}

Добавление ALL непосредственно в DataTable, возвращаемое вашим sp. Конечно, я не знаю точных названий полей, которые включены в эту таблицу, но это просто, чтобы дать вам идею. Возможно, у вас могут возникнуть другие проблемы, если sp возвращает таблицу с большим количеством полей, и эти поля НЕ ОБНАРУЖЕНЫ. В этом случае вам необходимо добавить фиктивное значение также для этих полей в новой строке.

comboBox1.DataSource = getBS();
comboBox1.Items.Insert(0, "ALL");

Вам нужно заполнить источник данных, а затем добавить его. Точка вставки элемента с индексом 0 такова, что вы можете добавить его к существующему набору ListItems.

Если вы добавляете свой Предмет, то установите источник данных, ваш очищающий источник данных и сбросьте его.

Другие вопросы по тегам