Visual Basic.NET - Ambito de una variable

 
Vista:

Ambito de una variable

Publicado por david (116 intervenciones) el 07/06/2004 16:50:43
Hola. Mi problema es que quiero acceder al valor de un datagrid que esta en otro form. Para seleccionar la fila actual pongo:
Dim ProvMp As ProvMp = New ProvMp
Dim cm As CurrencyManager = CType(ProvMp.BindingContext(ProvMp.DGProvMp.DataSource, ProvMp.DGProvMp.DataMember), CurrencyManager)
Dim dv As DataView = CType(cm.List, DataView)
Dim dr As DataRow
dr = dv.Item(cm.Position).Row

Y en dr se supone que tengo la fila, pero no llega hasta ahi xq dice q cm no puede ser nulo. No entiendo xq es nulo y no con el valor q corresponda.
Gracias por todo
Saludos!!
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

RE:Ambito de una variable

Publicado por Edgar (1501 intervenciones) el 07/06/2004 17:05:52
Hola...

Una pregunta.. ProvMp es tu formulario verdad? pues si es asi, no has mostrado todavía el mismo.. en cuyo caso todavia no has seleccionado ninguna fila

En todo caso debes pensar bien en donde vas a colocar el código, puesto que dependiendo de donde vas a colocar el mismo, vas a obtener el resultado deseado. Particularmente yo manejaria el método Closing del formulario que contiene el datagrid, de tal manera que la referencia no del formulario no has perdido todavia. Claro está que esto solo te sirve si quieres ejecutar este código despues de cerrar el formulario

De cualquier modo, explicanos que deseas hacer con esta interacción entre los dos formularios para ver en que te podemos ayudar.

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

RE:Ambito de una variable

Publicado por Davd (116 intervenciones) el 07/06/2004 17:45:03
Si, perdona, la verdad es q no fui muy explicito. ProvMp es un formulario q ya tengo cargado y seleccionado del grid. Dentro de ese formulario si tengo detectada la fila actual "dr" del grid. Cuando le doy a un boton aparece el formulario actual donde quiero usar esa fila "dr". El formulario anterior donde esta el grid no se cierra cuando le doy a ese boton, pero me sigue dando el error.
Otra cosa. Si guardo un campo de la fila dr en un integer, ese integer lo podria mostrar en el form actual sin que se pierda el valor que guarde en el?
Gracias.
Saludoss
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

RE:Ambito de una variable

Publicado por Edgar (1501 intervenciones) el 07/06/2004 18:36:22
Ok.. fijate que en el código que mostraste anteriormente colocaste New ProvMp().. por lo que estás creando un nuevo formulario.. no estas haciendo referencia al formulario que tienes abierto.. este es el primer punto que tienes que modificar.. cuando creas el formulario para mostrarlo, guardalo en una variable de tu clase para que tengas la referencia y trabaja sobre esta...

Esto debe resolverte el problema puesto que la selección de la fila no la estas haciendo del formulario que muestras sino de otro que creaste pero no has mostrado

En cuanto a tu otra pregunta.. si puedes guardar el valor de la fila en un entero (siempre y cuando ese valor sea entero o de un tipo que sea compatible), cualquier modificación que hagas sobre esa variable no te modificará el contenido de la fila, por lo que puede que tengas que escribir más si modificas esta variable y deseas que ese cambio se refleje en tu base de datos

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