选择列表视图中的行时填充文本框和图片框

时间:2013-10-21 02:16:37

标签: vb.net

您好我正在开发一个系统(vb.Net)。这是场景,我有文本框,图片框和列表视图,当我点击列表视图中的一行时,它将填充文本框和图片框(例如用户详细信息和她/他的ID图片),但是当我点击下一个行,只有文本框会改变它的值,但图片框上的图像不会改变..这是我的部分工作代码:

Try
    If lvUsrProf.SelectedItems.Count > 0 Then
        ''Call userImage()
        Dim adptr As New MySqlDataAdapter
        Dim tbl As DataTable
        Dim commbuild As MySqlCommandBuilder
        'Dim uID As Integer

        adptr.SelectCommand = cmd
        tbl = New DataTable
        adptr = New MySqlDataAdapter("SELECT  pic_image FROM userprofile", uCon)
        commbuild = New MySqlCommandBuilder(adptr)
        adptr.Fill(tbl)
        Dim lb() As Byte = tbl.Rows(0).Item("pic_image")
        Dim lstr As New System.IO.MemoryStream(lb)
        pboxID.Image = Image.FromStream(lstr)
        lstr.Close()

        txtIdNo.Text = lvUsrProf.SelectedItems(0).SubItems(0).Text
        txtName.Text = lvUsrProf.SelectedItems(0).SubItems(1).Text
        txtLstNam.Text = lvUsrProf.SelectedItems(0).SubItems(2).Text
        cboDept.Text = lvUsrProf.SelectedItems(0).SubItems(3).Text
        txtPOs.Text = lvUsrProf.SelectedItems(0).SubItems(4).Text
        txtCont.Text = lvUsrProf.SelectedItems(0).SubItems(5).Text
        txtEmail.Text = lvUsrProf.SelectedItems(0).SubItems(6).Text
        'pboxID.SizeMode = PictureBoxSizeMode.CenterImage
    End If
Catch ex As Exception
    MsgBox(ex.Message)
Finally
    uCon.Close()
End Try

非常感谢您的精彩创意和建议!Maraming Salamat !!

1 个答案:

答案 0 :(得分:0)

看起来您正在从表userprofile中获取所有图像。然后,对于您进行的每个选择,您将选择该结果中的第一个项目。由于您未在select中使用where子句,因此此图像将始终相同。尝试添加以下内容:

WHERE ID = lvUsrProf.SelectedItems(0).SubItems(0).Text

这应该只获取一个图像,它应该是连接到所选帐户的图像。