2012-10-11 26 views
1

我有一个列表框,在选定的更改上,运行一个方法将数据绑定到gridview。我收到错误:无法投射'System.EventArgs'类型的对象来键入'System.Web.UI.WebControls.GridViewRowEventArgs'。我有我的代码的其他部分从其他控件调用另一个gridview.databind(),所以我不知道为什么现在抛出这个错误?无法运行gridview.databind(),eventargs错误

Protected Sub lstEmployees_SelectedIndexChanged(ByVal sender As Object, ByVal e As  EventArgs) Handles lstEmployees.SelectedIndexChanged 
    Dim x As Int16 
    Dim startStr, endStr As String 

    If txtAdminSelectedDate.Text <> "" Then 
     dtWeeks = GetWeek(txtAdminSelectedDate.Text) 
    End If 

    If dtWeeks.Rows.Count > 0 Then 
     x = dtWeeks.Rows(0).Item(0).ToString().IndexOf("-") 
     endStr = dtWeeks.Rows(0).Item(0).ToString().Substring(x + 1, 11) 
     startStr = dtWeeks.Rows(0).Item(1).ToString() 
     dtWrkHours = GetHoursOfTheWeek(startStr, endStr, _user).Tables(0) 
     gvAdmin.DataSource = dtWrkHours 
     gvAdmin.DataBind() 
     sStatus = String.Empty 
     aStatus = String.Empty 
     AdminTot = 0 
     timeTot = 0 
    End If 

End Sub 
+0

小心不要被发生在我身上的“OnDataBound”和“OnRowDataBound”混淆。 – DanielV

回答

0

我忘了我问这个问题,但删除的RowDataBound并重新创建它固定它。我知道这很奇怪。

0

这很可能是您的网格有一个不好的方法签名。确保它看起来是这样的:

注:要特别注意的ARGS:ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs

Public Sub xyz_DataBind(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles xyz.RowDataBound 
    ... 
End Sub 
+0

我确实在gridviewrowdatabound中有这个。这就是为什么我不明白它是如何抛出错误的?也许我可以尝试删除RowDataBound,再次创建它? – Kou

+0

你可以试试。它绝对看起来不合时宜。 – Jeremy