powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнить данными combobox в datagridview
7 сообщений из 7, страница 1 из 1
Заполнить данными combobox в datagridview
    #38758428
Северянин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не пинайте за терминологию, только учусь.

Заполняю dataGridView1 данными из таблицы Employees источник: dataGridView1.DataSource = Populate("SELECT * FROM Employees")

Код: c#
1.
2.
3.
4.
5.
private void DepartmentsDirectoryBasic_Load(object sender, EventArgs e)
        {
            dataGridView1.AutoGenerateColumns = false;
            dataGridView1.DataSource = Populate("SELECT * FROM Employees");
        }



Далее в конструкторе грида вручную указываю имя поля таблицы и все нормально, данные в гриде выводятся как надо.

А как мне ПРАВИЛЬНО заполнить combobox этого грида данными из другой таблицы departments источник: DataTable tableDepartment = Populate("SELECT distinct name_dep FROM departments") ? Иными словами как привязать поле таблицы источника к combobox'у ?
...
Рейтинг: 0 / 0
Заполнить данными combobox в datagridview
    #38759128
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Северянин,

точно также, у колонки есть DataSource
...
Рейтинг: 0 / 0
Заполнить данными combobox в datagridview
    #38759140
Северянин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pation,
А можно пример не сильно сложный чтоб?
...
Рейтинг: 0 / 0
Заполнить данными combobox в datagridview
    #38759251
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Северянин,

Задай у comboboxcolumn свойства:
1. Datapropertyname - Имя поля datasourc'a грида
2. Datasource - data table со списком
3. Displaymember - имя поля из п.2 для отображения
3. Valuemember - имя поля из п.2 для связи со значением из п.1
...
Рейтинг: 0 / 0
Заполнить данными combobox в datagridview
    #38759364
Северянин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris, согласно Вашего списка в п. 2 уперся.
Я заполняю dataGridView вот так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 private void SpecialtysDirectoryBasic_Load(object sender, EventArgs e)
        {
            dataGridView1.DataSource = Populate("SELECT * FROM specialtys");
        }

        private DataTable Populate(string sqlCommand)
        {
            SqlConnection bcollegeConnection = new SqlConnection(connectionString);
            bcollegeConnection.Open();

            SqlCommand command = new SqlCommand(sqlCommand, bcollegeConnection);
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = command;

            DataTable table = new DataTable();
            table.Locale = System.Globalization.CultureInfo.InvariantCulture;
            adapter.Fill(table);

            return table;
        }


Если поле таблицы = колонка грида, все работает как надо. Но я не могу понять, как мне заполнить, скажем, 2 колонку таким значением: "SELECT name_dep FROM departments", чтобы получился выпадающий список. Хоть тресни.
...
Рейтинг: 0 / 0
Заполнить данными combobox в datagridview
    #38759562
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Северянин Но я не могу понять, как мне заполнить, скажем, 2 колонку таким значением: "SELECT name_dep FROM departments", чтобы получился выпадающий список. Хоть тресни.
примерно так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
using (DbConnection dbConn = Connect())
                {
                    using (DbCommand sqlRequest =  SqlCommand("SELECT id_dep,name_dep FROM departments", dbConn))
                    {
                        sqlRequest.CommandType = CommandType.Text;
                        using (DbDataReader sqlDataReader = sqlRequest.ExecuteReader())
                        {
                            DataTable dt = new DataTable();
                            dt.Load(sqlDataReader);
                            columnDep.DataSource = dt;
                            columnDep.DisplayMember = "name_dep";
                            columnDep.ValueMember = "id_dep";
 
                        }
                    }

                }
...
Рейтинг: 0 / 0
Заполнить данными combobox в datagridview
    #38759801
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris,
Спасибо, все получилось.
Можно небольшой дополнительный вопрос:
Код: c#
1.
table.Locale = System.Globalization.CultureInfo.InvariantCulture;


что сие значит?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Заполнить данными combobox в datagridview
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]