Получение индекса столбца при выборе ячейки в GridView - PullRequest
2 голосов
/ 15 декабря 2011

Ниже приведен код, который я использую для выбора каждой отдельной ячейки.Однако, когда я выбираю эту ячейку, мне нужны данные в этой ячейке, rowIndex и columnIndex.К сожалению, после всех исследований и попыток другого кода ... Я застрял на том, как получить columnIndex выбранной ячейки в моем gridView.

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
    For i As Integer = 0 To grdResults.Rows.Count - 1
        ClientScript.RegisterForEventValidation(grdResults.UniqueID, "Select$" & i)
    Next

    MyBase.Render(writer)
End Sub

Protected Sub grdResults_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles grdResults.RowDataBound
    If e.Row.RowType = DataControlRowType.DataRow Then

        For i As Integer = 1 To e.Row.Cells.Count - 1

            e.Row.Cells(i).Attributes("OnMouseOver") = "ToggleHighlight(this, true);"
            e.Row.Cells(i).Attributes("OnMouseOut") = "ToggleHighlight(this, false);"
            e.Row.Cells(i).Style("cursor") = "hand"
            e.Row.Cells(i).Attributes("onclick") = ClientScript.GetPostBackEventReference(grdResults, "Select$" & e.Row.RowIndex)
            e.Row.Cells(i).Attributes("style") += "cursor:pointer;curosor:hand;"
        Next
    End If
End Sub

Protected Sub grdResults_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdResults.SelectedIndexChanged
    LoadDetails(columnIndex, grdResults.selectedRow)
End Sub

Это также то, что я пытался1005 *

* Я попытался сделать buttonField с командой Name "ColumnClick".Затем, используя grdResults_RowCommand, чтобы попытаться получить rowIndex и columnIndex, я получаю страницу ошибки enableEventValidation.Даже при том, что у меня есть переопределенный рендер, который выглядел как:

'Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
'    For Each r As GridViewRow In grdResults.Rows
'        If r.RowType = DataControlRowType.DataRow Then
'            For columnIndex As Integer = 0 To r.Cells.Count - 1
'                ClientScript.RegisterForEventValidation(r.UniqueID + "$ct100", columnIndex.ToString())
'*                'ClientScript.RegisterForEventValidation(r.UniqueID, "Select$" & columnIndex)
'            Next
'        End If
'    Next

'    MyBase.Render(writer)
'End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...