我有一个网格,我试图根据按钮点击向上或向下移动网格行。这是我到目前为止所拥有的。
Protected Sub imgBtnMoveUp_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
Dim imgBtn As ImageButton
Dim FirstRow As GridViewRow = gvQuoteSo.Rows(0)
Dim btnUp As Button = DirectCast(FirstRow.FindControl("MoveUp"), Button)
Dim gvrow As GridViewRow
Dim previousRow As GridViewRow
Dim index As Integer = 0
imgBtn = CType(sender, ImageButton)
If imgBtn.CommandName = "MoveUp" Then
index = Convert.ToInt32(imgBtn.CommandArgument)
gvrow = gvQuoteSo.Rows(index)
previousRow = gvQuoteSo.Rows(index - 1)
UpdatePanelGrid.Update()
End If
End Sub
当我点击按钮时,没有任何东西。我知道这只是向上移动功能,但如果我能得到帮助,那么向下移动将自行回答。非常感谢!
答案 0 :(得分:0)
说明中给出了解释。
Private Sub btnUp_Click(sender As Object, e As EventArgs)
Dim grid As DataGridView = Grid_view
Try
Dim totalRows As Integer = grid.Rows.Count ' will count the number of rows
Dim idx As Integer = grid.SelectedCells(0).OwningRow.Index ' row index of the selected cell
If idx = 0 Then ' for no rows selected
Return
End If
Dim col As Integer = grid.SelectedCells(0).OwningColumn.Index ' columns corresponding to the selected row
Dim rows As DataGridViewRowCollection = grid.Rows
Dim row As DataGridViewRow = rows(idx)
rows.Remove(row) ' Remove the corrent row
rows.Insert(idx - 1, row)' Re-insert the row
grid.ClearSelection()
grid.Rows(idx - 1).Cells(col).Selected = True
Catch
End Try
End Sub
Private Sub btnDown_Click(sender As Object, e As EventArgs)
Dim grid As DataGridView = Grid_view
Try
Dim totalRows As Integer = grid.Rows.Count
Dim idx As Integer = grid.SelectedCells(0).OwningRow.Index
If idx = totalRows - 2 Then
Return
End If
Dim col As Integer = grid.SelectedCells(0).OwningColumn.Index
Dim rows As DataGridViewRowCollection = grid.Rows
Dim row As DataGridViewRow = rows(idx)
rows.Remove(row)
rows.Insert(idx + 1, row)
grid.ClearSelection()
grid.Rows(idx + 1).Cells(col).Selected = True
Catch
End Try
End Sub