Visual Basic.NET - ayuda con datagridview. xfavor llevo mas de 1 semana

 
Vista:

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por cristian guzman (4 intervenciones) el 19/03/2012 14:38:00
hola, tengan un buen dia. espero me ayuden con lo siguiente. En un formulario estoy asignando productos que esten disponibles a una persona. tengo 6 radiobutton uno para cada producto, si selecciono uno me muestra los que esten disponibles en el primer dgv. mi problema especifico es que necesito pasar los datos de un datagridview a otro. en el primer dgv me muestra los productos en estado disponible. y en el segundo dgv pasar las filas q alla seleccionado en el primer dgv. logre que pasada de un dgv a otro pero pasa solo de una fila, si lelecciono otro radiobutton y selecciono un disponible me lo reemplaza por el anteriro, y no lo agrega al siguiente. aqui esta el codigo que tengo.

Private Sub dgv_resulta_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgv_resulta.CellMouseClick
Dim valor As String = dgv_resulta.CurrentRow.Cells(0).Value.ToString
Dim NOMBRE As String = dgv_resulta.CurrentRow.Cells(1).Value.ToString

Dim Tabla As New DataTable
For i = 0 To 5

Tabla.Columns.Add(New DataColumn("Column " & i))
Next
Tabla.Rows.Add(valor, NOMBRE)
dgv_seleccionados.DataSource = Tabla
End Sub

los datos del primer dgv vienen de una bdd en sqlserver2008.

espero me ayuden he buscado por toda la net la semana completa y no he podido solucionarlo, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por David (46 intervenciones) el 20/03/2012 18:52:56
hola bueno lo borrar y no lo añade porque estas declarando
"Dim Tabla As New DataTable"
dentro del evento
declara tu variable tabla fuera del evento
asi podra agregar y no borrar los q ya tenias seleccionados
espero que te ayude en algo saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por cristian guzman (4 intervenciones) el 20/03/2012 19:26:39
hola, gracias por responder, la variable "Dim Tabla As New DataTable" la declare ahora en public class, ahora selecciono una fila y lo q selecciono en dgv1 lo clona completo en dgv2, por ejemplo si dgv1 tiene 3 filas y selecciono solo 1, me copia el dgv1 completo en el dgv2. a q puede q se deba esto si no es mucha la molestia?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por David (46 intervenciones) el 20/03/2012 20:13:33
eso si esta raro jaja pero probando lo que dijiste este seria tu codigo:
primero inicializando tu Tabla en el evento load

Dim sTabla As New DataTable
Private Sub dgv_resulta_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgv_resulta.CellMouseClick
Dim valor As String = dgv_resulta.CurrentRow.Cells(0).Value.ToString
Dim NOMBRE As String = dgv_resulta.CurrentRow.Cells(1).Value.ToString
sTabla.Rows.Add(valor, NOMBRE)
dgv_seleccionados.DataSource = sTabla
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 5
sTabla.Columns.Add(New DataColumn("Column " & i))
Next
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por cristian guzman (4 intervenciones) el 20/03/2012 21:40:32
lo hice asi como me dijiste
el ciclo for en el load, pero "dim tabla as datatable" lo declare en public class, porque al declararlo en el load no me tomaba la variable en private sub dgv_resulta q esta mas abajo lo demas en el evento.

Private Sub dgv_resulta_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgv_resulta.CellMouseClick

Dim valor As String = dgv_resulta.CurrentRow.Cells(0).Value.ToString
Dim NOMBRE As String = dgv_resulta.CurrentRow.Cells(1).Value.ToString

tabla.Rows.Add(valor, NOMBRE)
dgv_seleccionados.DataSource = tabla
End Sub

pasa lo mismo, clona el dgv1 completo en el dgv2, y si agrega lo q selecciono pero en los 2 dgv. primero selecciono la fila, clona el dgv completo y al hacer click sobre la fila agrega pero en los 2 dgv. rarisimohttp://www.lawebdelprogramador.com/img/btn_previsualizar.png
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por David (46 intervenciones) el 20/03/2012 22:26:07
No esta declarado en el load la "Tabla" si no esta como variable global del formulario declaralo asi tal cual esta lo que pasa con tus datagrid
Dim sTabla As New DataTable
Private Sub dgv_resulta_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles dgv_resulta.CellMouseClick
Dim valor As String = dgv_resulta.CurrentRow.Cells(0).Value.ToString
Dim NOMBRE As String = dgv_resulta.CurrentRow.Cells(1).Value.ToString
sTabla.Rows.Add(valor, NOMBRE)
dgv_seleccionados.DataSource = sTabla
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 5
sTabla.Columns.Add(New DataColumn("Column " & i))
Next
End Sub

lo que pasa con tus datagrids es que estan asumiendo el mismo data source, que version de vb estas utilizando? porque en el vb2005 esta corriendo como indicas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda con datagridview. xfavor llevo mas de 1 semana

Publicado por cristian guzman (4 intervenciones) el 21/03/2012 01:29:08
lo voy a probar ahora... se agradese la paciencia. estoy utilizando visual studio 2010
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar