powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос с заполнением DataGrid из ComboBox.
12 сообщений из 12, страница 1 из 1
Вопрос с заполнением DataGrid из ComboBox.
    #32599615
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некая форма, на ней DataGrid, в качестве DataSourse- таблица из DataSet.
На форме есть кнопка New при нажатии на которую открывается форма с двумя комбобоксами и текстовым полем.
Нужно, чтобы при нажатии кнопки ОК происходило добавление выбранных значений из комбобоксов и значения текстового поля в столбцы DataGrid.

Пишу так :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

        Dim drDiscount As DataRow


        If Not txtDiscount.Text = "0" Or txtDiscount.Text = "" Then

            drDiscount = CompanyForm.dsCompany.Tables("CompanyDiscountTbl").NewRow
            drDiscount.Item("ProducerID") = cbProducer.SelectedItem
            drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem
            drDiscount.Item("Discount") = txtDiscount.Text
            
            CompanyForm.dsCompany.Tables("CompanyDiscountTbl").Rows.Add(drDiscount)
            txtDiscount.Clear()

        Else
            MessageBox.Show("Введите скидку.")
        End If

    End Sub

Добавление происходит, но в то поле куда всталяется значение из TextBox все нормально, а в полях куда должны вставляться выбранные значения из комбобоксов, вместо значения пишется System.Data.DataRowView.
Что не так?
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599650
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это нормально
Вы именно хотите вставить ValueMember значения ваших ComboBox?
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599657
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, вроде разобрался, написал так
Код: plaintext
1.
2.
drDiscount.Item("ProducerID") = cbProducer.SelectedItem( 0 )
drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem( 0 )
Вместо
Код: plaintext
1.
2.
drDiscount.Item("ProducerID") = cbProducer.SelectedItem
drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem

Вроде работает.
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599668
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще один вопрос туда же, у меня стоит проверка на ввод нулевой или пустой скидки:

Код: plaintext
1.
if Not txtDiscount.Text = "0" Or txtDiscount.Text = "" Then
Так вот если ввести 0, то все нормально, вываливается сообщение, но если 0 убрать например кнопкой Del, вылетает с исключением, как отследить пустое значение?
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599671
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
drDiscount.Item("ProducerID") = cbProducer.SelectedItem
drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem

cbProducer.SelectedItem - Это если не ошибаюсь не строка (если есть желание можно посмотреть в ходе выполнения тип) поэтому и значение такое смешное, вставлять нужно так
Код: plaintext
1.
drDiscount.Item("ProducerID") = cbProducer.Text
drDiscount.Item("TovarGroupId") = cbTovgr.Text

И всё будет хорошо...
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599682
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
drDiscount.Item("ProducerID") = cbProducer.SelectedItem( 0 )
drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem( 0 )

А так вообще будет вставлять только первое значение Combo...
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599688
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще один вопрос туда же, у меня стоит проверка на ввод нулевой или пустой скидки:

if Not txtDiscount.Text = "0" Or txtDiscount.Text = "" Then

Так вот если ввести 0, то все нормально, вываливается сообщение, но если 0 убрать например кнопкой Del, вылетает с исключением, как отследить пустое значение?


посмотрите здесь
/topic/102016

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599719
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, если так:
Код: plaintext
1.
2.
drDiscount.Item("ProducerID") = cbProducer.SelectedItem( 0 )
drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem( 0 )
то вставляются именно выбранные значения, проверил только-что.
Так, тоже работае, спасибо, проглядел я свойство Text у ComboBox:(
Код: plaintext
1.
2.
drDiscount.Item("ProducerID") = cbProducer.Text
drDiscount.Item("TovarGroupId") = cbTovgr.Text
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599744
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Нет, если так:
drDiscount.Item("ProducerID") = cbProducer.SelectedItem(0)
drDiscount.Item("TovarGroupId") = cbTovgr.SelectedItem(0)
то вставляются именно выбранные значения, проверил только-что.


Нонсонс, и по моему чреват непредсказуемыми последствиями...
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32599758
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vladgrig
Нонсонс, и по моему чреват непредсказуемыми последствиями...

Все зависит от порядка следования столбцов в источнике данных :-)

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32600012
dencat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, а там всего один столбец и есть:)
...
Рейтинг: 0 / 0
Вопрос с заполнением DataGrid из ComboBox.
    #32600020
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, а там всего один столбец и есть:)


Ну значит и выбирать не приходиться
А доступ к нужному полю можно получить и не по индексу, а по названию этого поля.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос с заполнением DataGrid из ComboBox.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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