VB.NET - System.InvalidCastException(Datagridview)

时间:2017-06-28 17:07:51

标签: sql vb.net datagridview

我收到以下错误:

System.InvalidCastException:'无法将类型为'System.EventArgs'的对象强制转换为'System.Windows.Forms.DataGridViewCellEventArgs'。'

在此程序中:

Private Sub FillUsersGrid()
    Dim sql As String = "SELECT * FROM Users"
    Dim dataadapter As New SqlDataAdapter(sql, SQLconn)
    Dim Users As New DataSet()
    SQLconn.Open()
    dataadapter.Fill(Users, "Users_table")
    SQLconn.Close()
    DgdUsersList.DataSource = Users
    DgdUsersList.DataMember = "Users_table"
    Me.DgdUsersList.AutoResizeColumns()
End Sub

当我更改以下程序的名称时:

Private Sub DgdUsersList_SelectionChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DgdUsersList.SelectionChanged
    If e.RowIndex >= 0 Then
        Row = Me.DgdUsersList.Rows(e.RowIndex)
        TxtEmployeesUsername.Text = Row.Cells("Username").Value.ToString
        TxtEmployeesPassword.Text = Row.Cells("Password").Value.ToString
        CmbEmployeesAccessLevel.Text = Row.Cells("AccessLevel").Value
        ChkEmployeesPOSAccess.Checked = Row.Cells("POSAccess").Value
        CmbEmployeesPOSPosition.Text = Row.Cells("POSPosition").Value.ToString
    End If
    DgdUsersList.Rows(CurrentRowIndex).Selected = True
End Sub

自:

Private Sub DgdUsersList_CellClicked(sender As Object, e As DataGridViewCellEventArgs) Handles DgdUsersList.CellClicked

要:

Private Sub DgdUsersList_SelectionChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DgdUsersList.SelectionChanged

情景是这样的;我有两个Datagridview控件,我想这样做,当我点击DgdEmployeesList中的任何单元格时,DgdEmployeesList中选择了相同的行(索引)。

这是因为我想在单击记录时填充带有记录的表单,并且SQL数据库中的employees表通过主键链接到同一数据库中的用户(ID - 当员工配置文件时创建后,使用相同的表单创建具有相同ID的用户配置文件)

是否有任何修复(我明白通过使用datagridview控件本身可能更容易编写代码,但我不知道如何在控件内部显示两个表以及如何在保存时将它们分开,以及编辑记录并删除它们)

非常感谢任何帮助!

詹姆斯

0 个答案:

没有答案