Как получить значение выбранного элемента в выпадающем списке - PullRequest
2 голосов
/ 01 декабря 2011

Я пытаюсь внедрить устройство считывания штрих-кода в мое приложение C #. Я понимаю, что сканер штрих-кода работает так же, как мы набираем что-то на клавиатуре. У меня есть текстовое поле, в котором пользователь будет сканировать штрих-код. И это работает просто отлично, номер появляется в текстовом поле. тогда у меня есть datagridview, у которого есть текстовые поля и пара комбинированных списков, которые связаны с базой данных mysql .

после того, как пользователь отсканирует штрих-код в текстовое поле (эта часть в порядке), система автоматически выполнит поиск в базе данных соответствующего номера штрих-кода (для этой части тоже все в порядке). Я использую этот код для поисковой части:

private void barcodeTextBox_KeyPress(object sender, KeyPressEventArgs e)
    {
        string synthetic_color_no = this.barcodeTextBox.Text;

        this.synthetic_colorTableAdapter.FillByBarcode(asi_softwareDataSet.synthetic_color, synthetic_color_no);
        this.synthetic_warehouseTableAdapter.Update(asi_softwareDataSet.synthetic_warehouse);
    }

с этим кодом, теперь элемент внутри моего комбинированного списка просмотра данных сортируется и показывает только соответствующий номер штрих-кода внутри выпадающего меню.

моя проблема: я хочу, чтобы он был , автоматически отображать / выбирать соответствующий номер штрих-кода в раскрывающемся списке комбинированных данных datagridview, который привязан к базе данных mysql , чтобы пользователю не приходилось нажимать на этот список и выберите номер самостоятельно. Они просто сканируют и сканируют и сканируют.

Обратите внимание, что в отличие от обычного элемента управления ComboBox, типы ComboBox DataGridView не имеют свойства SelectedItem / SelectedValue / SelectedIndex для извлечения текущего выбранного объекта. Я пробовал решение на этих site1 , site2 , site3 , но ни один из них не работает для меня.

Я работаю над этим почти неделю и до сих пор не понимаю. Ваша помощь очень ценится. спасибо

1 Ответ

0 голосов
/ 06 февраля 2017
for (var i = 0; i < dataGridView1.Rows.Count - 1; i++) {                
    _module = dataGridView1.Rows[i].Cells[1].Value.ToString();            
}
...