MOVER LINHAS EM DATAGRIDVIEW
Bom dia a todos!!!!!
Estou pesquisando desde ontem, mas ainda não encontrei algo que me pudessa ajudar.
Preciso fazer com que o usuário mova as linhas em um DataGridView, alterando a posição dos registros apresentados. Não me perguntem por quê, pois usuário é usuário (vocês já devem estar acostumados a isso).
Eles pedem cada coisa...............
Mas, enfim, quem souber de algo que possa me ajudar, por favor. Continuarei pesquisando sem desistir jamais.
Até mais.
Estou pesquisando desde ontem, mas ainda não encontrei algo que me pudessa ajudar.
Preciso fazer com que o usuário mova as linhas em um DataGridView, alterando a posição dos registros apresentados. Não me perguntem por quê, pois usuário é usuário (vocês já devem estar acostumados a isso).
Eles pedem cada coisa...............
Mas, enfim, quem souber de algo que possa me ajudar, por favor. Continuarei pesquisando sem desistir jamais.
Até mais.
O que poderia ser feito, é uma coluna enumeradora, o usuário faz a ordem que ele quer dos números nessa coluna e ordena. Mas tipo arrastar a linha pra cima e para baixo à vontade, eu nunca vi, pode até ser que tenha, mas realmente nunca vi essa funcionalidade.
Valeu, Kerplunk, mas eu decidi fazer diferente e o cliente parece que aceitou (vamos ver, ne?).
Criei os botões para cima e para baixo e os códigos são esses:
Até mais.
Criei os botões para cima e para baixo e os códigos são esses:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DgvNomes.Rows.Add([Ô]Diante da Cruz[Ô], [Ô]Rosa de Saron[Ô], [Ô]1994[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Angústia Suprema[Ô], [Ô]Rosa de Saron[Ô], [Ô]1997[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Olhando de Frente[Ô], [Ô]Rosa de Saron[Ô], [Ô]1999[Ô], [Ô]CD[Ô], [Ô]EP[Ô])
DgvNomes.Rows.Add([Ô]Depois do Inverno[Ô], [Ô]Rosa de Saron[Ô], [Ô]2002[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Casa dos Espelhos[Ô], [Ô]Rosa de Saron[Ô], [Ô]2005[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Rosa de Saron Acústico[Ô], [Ô]Rosa de Saron[Ô], [Ô]2007[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Horizonte Distante[Ô], [Ô]Rosa de Saron[Ô], [Ô]2009[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Siete Caminos[Ô], [Ô]Rosa de Saron[Ô], [Ô]2011[Ô], [Ô]CD[Ô], [Ô]EP[Ô])
DgvNomes.Rows.Add([Ô]O Agora e o Eterno[Ô], [Ô]Rosa de Saron[Ô], [Ô]2012[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Latitude, Longitude[Ô], [Ô]Rosa de Saron[Ô], [Ô]2013[Ô], [Ô]CD[Ô], [Ô]Estúdio[Ô])
DgvNomes.Rows.Add([Ô]Acústico e Ao Vivo[Ô], [Ô]Rosa de Saron[Ô], [Ô]2008[Ô], [Ô]CD[Ô], [Ô]Ao Vivo[Ô])
DgvNomes.Rows.Add([Ô]Horizonte Vivo Distante[Ô], [Ô]Rosa de Saron[Ô], [Ô]2010[Ô], [Ô]CD[Ô], [Ô]Ao Vivo[Ô])
DgvNomes.Rows.Add([Ô]Latitude, Longitude[Ô], [Ô]Rosa de Saron[Ô], [Ô]2013[Ô], [Ô]CD[Ô], [Ô]Ao Vivo[Ô])
DgvNomes.Rows.Add([Ô]Acústico e Ao Vivo[Ô], [Ô]Rosa de Saron[Ô], [Ô]2008[Ô], [Ô]DVD[Ô], [Ô][Ô])
DgvNomes.Rows.Add([Ô]Horizonte Vivo Distante[Ô], [Ô]Rosa de Saron[Ô], [Ô]2010[Ô], [Ô]DVD[Ô], [Ô][Ô])
DgvNomes.Rows.Add([Ô]Rosa na Estrada[Ô], [Ô]Rosa de Saron[Ô], [Ô]2012[Ô], [Ô]DVD[Ô], [Ô][Ô])
DgvNomes.Rows.Add([Ô]Latitude, Longitude[Ô], [Ô]Rosa de Saron[Ô], [Ô]2013[Ô], [Ô]DVD[Ô], [Ô][Ô])
DgvNomes.Rows.Add([Ô]Rock, Fé e Poesia[Ô], [Ô]Rosa de Saron[Ô], [Ô]2008[Ô], [Ô]Livro[Ô], [Ô][Ô])
End Sub
[ô] botão para cima
Private Sub BtnParaCima_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnParaCima.Click
[ô] se estiver na primeira linha
If DgvNomes.CurrentRow.Index = 0 Then MsgBox([Ô]Inicio da lista[Ô]) : Exit Sub
[ô] rotina MoveLinha (vai mover uma linha acima da que está selecionada: CurrentRow.Index-1)
MoveLinha(DgvNomes.CurrentRow, DgvNomes.CurrentRow.Index - 1)
[ô] seleciona a linha que foi movida
DgvNomes.CurrentCell = DgvNomes.Rows(indice).Cells(1)
DgvNomes.Rows(indice).Selected = True
End Sub
[ô] botão para baixo
Private Sub BtnParaBaixo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnParaBaixo.Click
[ô] se for a última linha
If DgvNomes.CurrentRow.Index = DgvNomes.Rows.Count - 1 Then MsgBox([Ô]Final da lista[Ô]) : Exit Sub
[ô] rotina MoveLinha (vai mover uma linha abaixo da que está selecionada: CurrentRow.Index+1)
MoveLinha(DgvNomes.CurrentRow, DgvNomes.CurrentRow.Index + 1)
[ô] seleciona a linha que foi movida
DgvNomes.CurrentCell = DgvNomes.Rows(indice).Cells(1)
DgvNomes.Rows(indice).Selected = True
End Sub
Até mais.
Tópico encerrado , respostas não são mais permitidas