Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > ComboBox и Tag


Автор: MAK 12.6.2006, 21:46
Можно ли как-то задать каждому элементу (каждой строке) свой tag?  smile 

Есть база, из которой выбирается id, title, далее в combobox'е отображается title.
Можно ли как-то узнать id при изменении выбора combo, без дополнительных запросов и создания массивов?  smile  

Автор: Void 12.6.2006, 22:00
Используй data binding и свойство SelectedValue. 

Автор: MAK 12.6.2006, 22:18
если не затруднит - smile  

Автор: Void 12.6.2006, 22:47
У меня с ADO.NET не очень, так что, думаю, тебе посоветуют, как организовать это в случае доступа к данным. А пока пример с привзякой к IList:
Код
class Record
{
    private int id_;
    private string title_;

    public Record(int id, string title)
    {
        id_ = id;
        title_ = title;
    }

    public int Id
    {
        get { return id_; }
    }

    public string Title
    {
        get { return title_; }
    }
}

private IList<Record> data_ = new List<Record>();

public Form1()
{
    InitializeComponent();

    data_.Add(new Record(1, "Text 1"));
    data_.Add(new Record(2, "Text 2"));

    comboBox1.DataSource = data_;
    comboBox1.ValueMember = "Id";
    comboBox1.DisplayMember = "Title";
}

private void button1_Click(object sender, EventArgs e)
{
    textBox1.Text = ((int)comboBox1.SelectedValue).ToString();
}
 

Автор: MAK 12.6.2006, 23:15
Спасибо, только вот у меня с
Цитата(Void @  12.6.2006,  23:47 Найти цитируемый пост)
private IList<Record> data_ = new List<Record>();

проблема  smile  (даже если заменить new List<Record>(); на new IList<Record>();

Пишет:
Код

A new expression requires () or [] after type
Invalid expression term ')'
) expected


Либо, если тупо перепечатать пример:
Код

Invalid token '<' in class, struct, or interface member declaration
Invalid token '>' in class, struct, or interface member declaration
Invalid token '=' in class, struct, or interface member declaration
Invalid token '<' in class, struct, or interface member declaration
Invalid token '>' in class, struct, or interface member declaration


Может я что не правильно делаю?  smile  

Автор: Void 12.6.2006, 23:16
MAK, у тебя .NET 1.1?

Тогда так:
Код
IList data_ = new ArrayList();
 

Автор: MAK 12.6.2006, 23:26
Да, пока .NET 1.1

Добавлено @ 23:26 
Заработало, спасибо 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)