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


Автор: dembel 23.6.2010, 23:37
Доброго вечера. Подскажите пожалуйста можно ли в компоненте ComboBox сделать "в стиле" компонента SelectBox в html, тоесть отдельно здается то что будет возращать привыборе каждый пункт (value в html) и отдельно что будет на этом пункте выводиться (создержимое тэга <options> в html)?

Проблема в том что мне пользователю нужно выводить название мест, но при выборе мне возвращались не названия я id этих мест (id не пункта меню, а id под которымы они в базе лежат)

Автор: Exai1e 24.6.2010, 00:07
dembel, первое что в голову пришло, добавлять в комбобокс свои объекты
Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication1
{
    class SomeItem
    {
        public string Caption { set; get; }
        public string Info { set; get; }

        public SomeItem(string pCaption, string pInfo)
        {
            this.Caption = pCaption;
            this.Info = pInfo;
        }

        public override string ToString()
        {
            return this.Caption;
        }
    }
}


Код

        private void button1_Click_2(object sender, EventArgs e)
        {
            comboBox1.Items.Add(new SomeItem("Hello", "SomeInfo_1"));
            comboBox1.Items.Add(new SomeItem("World", "SomeInfo_2"));
            comboBox1.Items.Add(new SomeItem("Man", "SomeInfo_3"));
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.Items != null)
            {
                SomeItem currentItem = (SomeItem)comboBox1.SelectedItem;
                textBox1.Text = currentItem.Info;
            }
        }


Автор: jonie 24.6.2010, 00:19
Exai1e, можно без перегрузки используя DisplayMember  и ValueMember, ну и DataSource выставив на коллекцию подобных твоему классу объектов..

Автор: Exai1e 24.6.2010, 00:41
jonie, Спасибо, не знал

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