Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Lepizz en 20 de Octubre 2014, 19:44
-
Hola tengo un botón que actualiza bien con este código:
Me.Esc_SalarialTableAdapter.Fill(Me.Database1DataSet.Esc_Salarial)
pero ocupo que actualice y conserve la posición en la que me encuentro en el datagrid para que si hago cambios o cosas de ese tipo, cada vez que actualice no pierda la posición en que estoy y me envíe haastaaa el principio de la bd???
Creo que este código me sirve para eso( si conocen uno díganmelo por favor!(porque no estoy seguro)):
If Me.BindingContext(Esc_SalarialBindingSource).Position = 0 Then
End If
Me.BindingContext(Esc_SalarialBindingSource).Position -= 1 And
Me.BindingContext(Esc_SalarialBindingSource).Position = 1
Esc_SalarialDataGridView.Text = Me.BindingContext(Esc_SalarialBindingSource).Position
End Sub
Pero no sé cómo mezclarlos de forma que funcionen correctamente lo tengo asi:
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
' EN LA LINEA SIGUIENTE ME DA ERROR
If Button5_Click(AcceptButton) Then
Me.Esc_SalarialTableAdapter.Fill(Me.Database1DataSet.Esc_Salarial)
If Me.Esc_SalarialTableAdapter.Fill(Me.Database1DataSet.Esc_Salarial) Then
Me.BindingContext(Esc_SalarialBindingSource).Position = 0
Me.BindingContext(Esc_SalarialBindingSource).Position -= 1 And
Me.BindingContext(Esc_SalarialBindingSource).Position = 1
Esc_SalarialDataGridView.Text = Me.BindingContext(Esc_SalarialBindingSource).Position
End If
End If
End Sub
Pero no me sirve la primer linea del IF, COMO LA HAGO DE FORMA QUE FUNCIONE ESE CÓDIGO o tal vez alguien me pueda dar UN CÓDIGO QUE FUNCIONE EN CASO QUE EL MIO NO SEA EL CORRECTO?
muchas gracias amigos Saludos!
-
Pienso que lo puedes solucionar de esta manera: antes de hacer la actualización, guarda la posición (la celda en la que te encuentras, por ejemplo la celda 4,6)
Una vez termina la actualización usa CurrentCell indicando cuál es la celda que debe ser la celda actual:
Private Sub setCurrentCellButton_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles setCurrentCellButton.Click
' Set the current cell to the cell in column 1, Row 0.
Me.dataGridView1.CurrentCell = Me.dataGridView1(4, 6)
End Sub
Saludos!!
-
Creo que tienes razón, puede ser una buena idea : pero mi programa marca como malas algunas palabras porque?
Las palabras que marca erróneas son: Set the current cell to the cell in column 1, Row 0
-
Set the current cell to the cell in column 1, Row 0 es un comentario, por tanto esa línea tiene que empezar con un apóstrofe de comentario, o bien eliminarla.
'Set the current cell to the cell in column x, Row y (o eliminar la línea)
Saludos
-
haha no vi eso -.-
gracias, y si guardo la linea en el campo (6,4) x ejemplo, siempre que actualize me llevara ahí, existe forma de que me lleve a la fila en que me encuentre al momento de actualizar?
-
jeje me costo pero tome la idea que me diste y lo acople de forma que me funcionara bien, gracias amigo te lo agradezco mucho (Y)
desde Costa Rica, SALUDOS!!
-
por cierto aca esta el codigo xD seguro seguire instruyendome en estos foros asi que pondre mi dranito de arena
''BOTON ACTUALIZAR
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
Dim record_actual As Integer
record_actual = Esc_SalarialBindingSource.Position
Me.Validate()
Me.Esc_SalarialBindingSource.EndEdit()
Me.Esc_SalarialTableAdapter.Update(Me.Database1DataSet.Esc_Salarial)
Me.Esc_SalarialTableAdapter.Fill(Me.Database1DataSet.Esc_Salarial)
Esc_SalarialBindingSource.Position = record_actual
End Sub