Двойной щелчок по любой строке DataGridView в VB.NET для отображения результата в элементах управления формы - PullRequest
0 голосов
/ 28 июня 2011

Я не получил желаемый результат из следующего кода:

    Private Sub tblView_SelectionChanged(ByVal sender As System.oject, ByVal e as System.EventArgs)Handles tblView.SelectionChanged
        Dim st As String = tblView.SelectedRows.ToString
        txtID.Text = st(0)
        Try
           myCommand = New SqlCommand("SELECT * FROM tblRack WHERE RackID = "& txtID.Text &"", myConnection)
           myReader = myCommand.ExecuteReader()
           While myReader.Read
               txtID.Text = myReader(0).ToString
               txtRack.Text = myReader(1).ToString
           End While
           myReader.Close()
        Catch ex As Exception
           MsgBox (ex.Message)
        End Try
 End Sub

Я хотел, чтобы данные, выбранные в строке просмотра данных, отображались в текстовом поле, но при этом отображается сообщение об ошибке, что st (0) выдает «S», что несовместимо с моим типом данных RackID. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Вы конвертируете объект SelectdRows в строку, которая, вероятно, будет возвращать что-то like "System.Windows.Forms.DataGridViewSelectedRowCollection".Выполнение st(0) возьмет первый символ из этой строки, которая является 'S'.

Возможно, вам следует попробовать это:

    Dim st As String = tblView.SelectedRows[0].Cells[0].Value.ToString
    txtID.Text = st
1 голос
/ 09 мая 2013

Попробуйте это

txtID.text = myReader.Item(0)
txtRack.text = myReader.Item(1)

или

txtID.text = myReader.Item("Fieldname1")
txtRack.text = myReader.Item("Fieldname2")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...