2013-09-24 87 views
1

有一个名为cboEndUser的组合框。当我选择组合框中的项目时,这个函数被调用。 cboEndUser由错误从'InternalField'类型到'String'类型的转换无效

填充
cboEndUser.Items.Add(New itemData(oRec.Fields("FullName").Value, oRec("ContactID"))) 

项目数据是一个类。

Public Class itemData 
Public _item As String 
Public _itemData As Object 

Public Sub New(ByVal item As String, ByVal data As Object) 
    _item = item 
    _itemData = data 
End Sub 

Public Overrides Function ToString() As String 
    Return _item 
End Function 
End Class 


Private Sub cboEndUser_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cboEndUser.SelectedIndexChanged 

      If cboEndUser.SelectedIndex <> -1 Then 
       PopulateSerialNumberArray(CInt(txtCustomerID.Text), (cboEndUser.SelectedItem)._itemData) 
      End If 

End Sub 

获取在线路PopulateSerialNumberArray误差(CINT(txtCustomerID.Text),(cboEndUser.SelectedItem)._的ItemData)。 errow是从'InternalField'类型到'String'类型的转换无效。

Public Sub PopulateSerialNumberArray(ByRef plCustomerID As Integer, ByRef plContactID As String) 

End Sub 

回答

0

您的函数需要一个字符串作为第二个参数。 (cboEndUser.SelectedItem)._itemData不是。

请更改函数的签名或将参数更改为字符串。

+0

是的。我改变了第二个参数(cboEndUser.SelectedItem)._ itemData.ToString。谢谢 – user2194838

相关问题