Foros del Web » Programación para mayores de 30 ;) » .NET »

Flexgrid y Datagridview

Estas en el tema de Flexgrid y Datagridview en el foro de .NET en Foros del Web. Hola a todos, tengo una dudo, ojalá me la pudieran resolver. Estoy haciendo ejercicios en la versión 2005 de visual studio con visual basic, y ...
  #1 (permalink)  
Antiguo 02/01/2012, 07:00
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años
Puntos: 2
Flexgrid y Datagridview

Hola a todos, tengo una dudo, ojalá me la pudieran resolver. Estoy haciendo ejercicios en la versión 2005 de visual studio con visual basic, y no doy con la tecla para poder forzar al usuario a que seleccione una fila del datagridview. La selección sería para poder luego pulsar un botón y que muestre los datos. Es decir, quiero forzar al usuario a que seleccione una fila y que salga un mensajito, de "no has seleccionado una fila". Cuál sería la instrucción para indicar eso?. Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 02/01/2012, 09:23
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Flexgrid y Datagridview

Hola que tal, lo que puedes hacer es regresar el valor de la celda seleccionada, yo lo hago asi en C#:

Código C#:
Ver original
  1. Grid.Rows[Grid.CurrentRow.Index].Cells["Nombre de la Columna"].Value.ToString();

Espero te sirva
  #3 (permalink)  
Antiguo 02/01/2012, 09:50
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años
Puntos: 2
Respuesta: Flexgrid y Datagridview

Gracias por tu respuesta drako_darpan, con Grid.Rows[Grid.CurrentRow.Index].Cells["Nombre de la Columna"].Value.ToString(); no consigo hacer la comparación de si es nulo que salte el msgBox, si tiene valor, que muestre los datos.

Alguna otra idea?
  #4 (permalink)  
Antiguo 02/01/2012, 10:17
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Flexgrid y Datagridview

Hola que tal, castealo antes de obtener el valor:

Código C#:
Ver original
  1. (String)Grid.Rows[Grid.CurrentRow.Index].Cells["Nombre de la Columna"].Value;

Con esto ya puedes validar que se tome, siempre que no sea null.
  #5 (permalink)  
Antiguo 02/01/2012, 10:59
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años
Puntos: 2
Respuesta: Flexgrid y Datagridview

No puedo castearlo, lo pongo así:

Dim strIntermedia As String
strIntermedia=DGVRecibidas.Rows[DGVRecibidas.CurrentRow.Index].Cells["Matricula"].Value.ToString();

Me dice que no se puede castear a string un valor del tipo datagridviewcollection. Tampoco se puede hacer la conversión a booleano.
  #6 (permalink)  
Antiguo 02/01/2012, 11:18
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Flexgrid y Datagridview

Hola, oye disculpa estas trabajando con DataGridView o con DataGridViewCollection??

Intenta esto:

Dim strIntermedia As String
strIntermedia=(String)DGVRecibidas.Rows[DGVRecibidas.CurrentRow.Index].Cells["Matricula"].Value;

Lo que vas a convertir, es string o numerica, por que si es numerica te marcaria error.

Última edición por drako_darpan; 02/01/2012 a las 11:43
  #7 (permalink)  
Antiguo 03/01/2012, 03:17
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años
Puntos: 2
Respuesta: Flexgrid y Datagridview

Es un System.windows.forms.datagridview, un datagridview normal en aplicación .net, visual studio 2005.

He probado esto, que creo que es el equivalente de lo que me has puesto tu pero en visual basic:

Dim strIntermedia As String
Dim numIntermedio As Integer
numIntermedio = DGVRecibidas.CurrentRow.Index
strIntermedia = CType(DGVRecibidas.Rows.[numIntermedio].Cells["Matricula"].Value, String);


He probado esto con todas las variantes, quitando las variables intermedias, poniendo y quitando el toString. El problema sigue siendo el mismo, me dice que no se puede castear a string un valor del tipo datagridviewcollection.

El valor que debe leer del datagridview es de tipo string. El nombre de la columna es correcto. Yo creo que no puedo acceder a la columna seleccionada de esta forma, seguro que hay otra o quizá no estoy haciendo bien el equivalente del código que me has sugerido.
  #8 (permalink)  
Antiguo 03/01/2012, 09:32
 
Fecha de Ingreso: abril-2010
Mensajes: 50
Antigüedad: 14 años
Puntos: 2
Respuesta: Flexgrid y Datagridview

Lo logré, la solución es la siguiente:

If DGVRecibidas.Item(0, DGVRecibidas.CurrentRow.Index).Value IsNot Nothing Then
url = DGVRecibidas.CurrentRow.Cells("URL").Value()
FormWebBrowser.ShowDialog()
Else
MsgBox("Debe seleccionar una fila", MsgBoxStyle.Exclamation, "")
End If


Con la opción multirowselecting = false

De esa manera te aseguras de que haya fila seleccionada siempre.

Un saludo y gracias.

Etiquetas: basic, datagridview, flexgrid, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:54.