Задать вопрос
Alex_Zimin
@Alex_Zimin
Ученик n-ного класса

Как привязать таблицу данных к ComboBox в C#?

Здравтсвуйте!Такая проблема: как привязать тублицу данных(состоит из строк:№,ФИО,Прогресс) к строке коллекции ComboBox.Например: таблицу группы 1 к строке в ComboBox-а "группа 1" и при нажатии на неё,чтобы выводились данные,записанные в таблице в свободное место в форме.Пользуюсь Visual Studio 2012.
Прилагаю скриншот того,что нужно,так как может кто-то просто со слов не поймёт (не умею объяснять,сорри)
7LlfXlF.png?1
Буду рад развёрнутому ответу!Так же ищу наставника.
[C#]
  • Вопрос задан
  • 12462 просмотра
Подписаться 3 Оценить 2 комментария
Решения вопроса 2
@serber
Я конечно могу ошибаться, но из контекста вопроса понял, что речь идет о группе студентов ВУЗа.
Если это так, то можно все это организовать в рамках одной таблицы, добавив еще один столбец: Номер группы. Далее, делаете выборку из таблицы - получаете список всевозможных групп (SELECT DISTINCT ... ) и добавляете его в ComboBox (метод Add(...), на сколько помню). На событии SelectedIndexChanged делаете выборку из этой же таблицы добавив условие, что номер группы равен выбранному значению в ComboBox и результат выборки добавляете в таблицу (GridView).
Ответ написан
artzub
@artzub
Программист
Можно использовать свойство DataSource и DisplayMember.
Ну а дальше как и написал авторы выше используй SelectedIndexChanged.
В DataSource передай свою таблицу в DisplayMember укажи название поля таблицы.

namespace WindowsFormsApplication1 {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e) {
            dataGridView1.DataSource = bindingSource1;
            var dt = new DataTable();
            bindingSource1.DataSource = dt;
            dt.Columns.AddRange(new DataColumn[] {
                new DataColumn("ID", typeof(long)),
                new DataColumn("NAME", typeof(string)),
                new DataColumn("DESC", typeof(string))
            });
            for (var i = 0; i < 3; i++) {
                var row = dt.NewRow();                
                row["ID"] = i;
                row["NAME"] = string.Format("group{0}", i);
                row["DESC"] = "Lots of symbols";
                dt.Rows.Add(row);
            }
            dt.AcceptChanges();
            comboBox1.DataSource = bindingSource1;
            comboBox1.DisplayMember = "NAME";
        }
    }
}


Screenshot%202013-12-12%2002.44.00.png?w

P.S. Если нужна более детальная помощь можешь написать мне в skype: artzubalex
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы