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

Сейчас я делаю вот так:
dbConn - мой класс, который заполняет датасэт из sql запроса или хранимой процедуры.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
dbConn.FillDataSet("SELECT id, name from USERS", "USERS", null, null, null, false);

DataTable tbl = dbConn.FillDataSet("SELECT id, user_id, date_, status from ORDERS", "ORDERS", null, null, null, false);
dataGridView1.DataSource = tbl;

// добавление нового столбца
DataGridViewComboBoxColumn Column2 = new DataGridViewComboBoxColumn();
Column2.DropDownWidth = 160;
Column2.HeaderText = "Пользователь";
Column2.Name = "USER";
Column2.MaxDropDownItems = 5;
Column2.FlatStyle = FlatStyle.Flat;
Column2.DataSource = dbConn.ds.Tables["USERS"];
Column2.DisplayMember = "NAME";
Column2.ValueMember = "ID";
dataGridView1.Columns.Insert(dataGridView1.ColumnCount, Column2);

// выставить значения по умолчанию для колонки с combobox
int i = 0;
foreach(DataRow r in dbConn.ds.Tables["ORDERS"].Rows)
{
dataGridView1.Rows.Cells["USER"].Value = r["USER_ID"];
i++;
}

При заполнение dataset'a создается обычная колонка user_id, поэтому ее надо удалить
private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
if (e.Column.Name == "USER_ID")
dataGridView1.Columns.Remove(e.Column);
}

Весь этот код работает, только не отрабатывает метод Update у адаптора.
Т.е. все изменяются все столбцы кроме USER_ID.
Как привязать combobox, у которого datasource - таблица USERS к таблице ORDERS, так чтобы при изминении юзера это сохранялось в базу?
Или можно сделать то же самое более изящно, чем у меня?

Надеюсь я ясно изложил вопрос...
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #33899776
krot-s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ведь все делали такое уже... Помогите кодом плз.
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #33905080
krot-s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи! Помогите кто-нить! Или здесь опытом никто ни с кем не делится?
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #33905563
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krot-sТоварищи! Помогите кто-нить! Или здесь опытом никто ни с кем не делится?

Зайди в свойство колонок там можно установить вид отображаемой колонки и выбери ColumnType = ComboBox.
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #33905631
krot-s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pavluha krot-sТоварищи! Помогите кто-нить! Или здесь опытом никто ни с кем не делится?

Зайди в свойство колонок там можно установить вид отображаемой колонки и выбери ColumnType = ComboBox.

А как это сделать во время выполнения?
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #33905960
Pavluha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krot-s Pavluha krot-sТоварищи! Помогите кто-нить! Или здесь опытом никто ни с кем не делится?

Зайди в свойство колонок там можно установить вид отображаемой колонки и выбери ColumnType = ComboBox.

А как это сделать во время выполнения?

Ты создай колонку и сделай ее ComboBox-ом. С# за тебя напишет код. Тебе останется только посмотреть его.
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #33907196
regexp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привязку данных к контролам (любым) лучше осуществлять при помощи BindingSource, к примеру:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
DataSet ds = new DataSet();
DataTable dt = bookDBSet.Tables[tblName];
SqlConnection connection = new SqlConnection(connectionString);

SqlDataAdapter da = new SqlDataAdapter((" select * from " + tblName), connection);
da.Fill(ds , tblName);

da.InsertCommand = new SqlCommand(InsertCommandString, connection);
da.UpdateCommand = new SqlCommand(UpdateCommandString, connection);
da.DeleteCommand = new SqlCommand(DeleteCommandString, connection);
da.InsertCommand.Parameters.Add(......);
da.UpdateCommand.Parameters.Add(......);
da.DeleteCommand.Parameters.Add(......);

BindingSource bs = new BindingSource();
bs.DataSource = ds;
bs.DataMember = dt.TableName;
dataGridView1.DataSource = bs;

BindingNavigator bn = new BindingNavigator();
/*инициализация */
bn.BindingSource = bs;

Почитать об этом можно в MSDN или любой книжке, где более менее подробно освещается ado.net 2.0 или winforms.
А вообще говоря, половину работы за программиста делает сама студия, тут главное понимать, какова архитектура. Попробуйте создать DataGridView полностью при помощи визардов студии. Тогда Вы будете иметь представление о том, как оно должно, в принципе, с точки зрения архитекторов .net, выглядеть.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как правильно добавить combobox в datagridview?
    #38039932
The_REAL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
старая тема.. точнее таких тем тут сотни - но внятного примера так нигде и нет =(

Так что присоединюсь к вопросу автора - как вывести табличку с ComboBox-ами из вторичного ключа (другой таблицы)? Требуется пример рабочего кода.
...
Рейтинг: 0 / 0
как правильно добавить combobox в datagridview?
    #38040549
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
The_REALстарая тема.. точнее таких тем тут сотни - но внятного примера так нигде и нет =(

Так что присоединюсь к вопросу автора - как вывести табличку с ComboBox-ами из вторичного ключа (другой таблицы)? Требуется пример рабочего кода.

Примера нет, потому что никто этот код не пишет.

Это пишет студия

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
	// 
            // comboBox1
            // 
            this.comboBox1.BackColor = System.Drawing.SystemColors.WindowText;
            this.comboBox1.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bsNet, "StantionId", true));
            this.comboBox1.DataSource = this.bsStantion;
            this.comboBox1.DisplayMember = "Stantion";
            this.comboBox1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
            this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System;
            this.comboBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
            this.comboBox1.ForeColor = System.Drawing.SystemColors.Window;
            this.comboBox1.FormattingEnabled = true;
            this.comboBox1.Location = new System.Drawing.Point(171, 0);
            this.comboBox1.Margin = new System.Windows.Forms.Padding(0);
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.Size = new System.Drawing.Size(399, 24);
            this.comboBox1.TabIndex = 10;
            this.comboBox1.TabStop = false;
            this.comboBox1.ValueMember = "StantionId";
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как правильно добавить combobox в datagridview?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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