在第一行之后我无法获得GridView RowDataBound更新行?

时间:2011-10-14 20:02:15

标签: asp.net vb.net

Helo专家再次。

我过去曾问过类似的问题。我能够通过从代码中完全删除gvRowDataBound来解决它。这是类似的代码,除了我无法删除gvRowDataBound子。

问题是当您单击第一行的“编辑”按钮时,它允许您成功更新该行。

在第一行之后,如果单击任何其他行的thr edit按钮,请输入要更新的值,它不会更新该行。

相反,光标向下移动到下一行。

我没有设计这个并且很难​​弄清楚需要改变什么。

我真的非常感谢你的帮助。

提前多多谢谢。

这是给我适合的子。如果需要,我可以提供其他信息

Protected Sub gvRowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        Dim drv As DataRowView = e.Row.DataItem
        Dim nameid As String = drv("empl_first").ToString & Space(5) & drv("empl_last").ToString & Space(5) & Space(5) & drv("employee_ID").ToString
        If tmpEmplID <> drv("employee_ID").ToString Then
            tmpEmplID = drv("employee_ID").ToString
            Dim tbl As Table = e.Row.Parent
            If Not IsDBNull(tbl) Then
                Dim row As New GridViewRow(-1, -1, DataControlRowType.DataRow, DataControlRowState.Normal)
                Dim cell As New TableCell
                cell.ColumnSpan = Me.GridView1.Columns.Count

                cell.Width = Unit.Percentage(100)
                cell.Style.Add("font-weight", "bold")
                cell.Style.Add("background-color", "#c0c0c0")
                cell.Style.Add("color", "white")

                Dim span As New HtmlGenericControl("span")
                'span.InnerHtml = "Employee ID:    " & nameid & Space(10)

                If drv("date_stamp_appr").ToString = "" Then
                    span.InnerHtml += " <input type='button' ID='" & tmpEmplID & "' value='Approve' onclick='GetHere(""" & tmpEmplID & """)'></input>"
                Else
                    span.InnerHtml += " <b>APPROVED ON: " & drv("date_stamp_appr").ToString & "</b>"
                End If
                Dim linkBtn As LinkButton = CType(e.Row.Cells.Item(0).Controls.Item(2), LinkButton)
                linkBtn.OnClientClick = "return confirm('Are you sure you want to   delete this entry?');"

                cell.Controls.Add(span)
                row.Cells.Add(cell)

                tbl.Rows.AddAt(tbl.Rows.Count - 1, row)

            End If

        End If
    End If

End Sub

1 个答案:

答案 0 :(得分:0)

尝试使用GridView的RowEditing事件而不是RowDatabound事件。