Diferencia entre SetDataBinding y DataSource

05/01/2005 - 10:30 por Jordi Julià | Informe spam
Hola a todos,

Alguien podría explicarme que diferencia existe entre cargar un DataGrid de
una manero u otra:

Me.dgr_Transacciones.DataSource = ds_pagina.Tables("Transacciones")

Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")



Gracias

Preguntas similare

Leer las respuestas

#1 SqlRanger
05/01/2005 - 11:25 | Informe spam
Tal y como lo has puesto el resultado es similar aunque no idéntico.

Me.dgr_Transacciones.DataSource = ds_pagina.Tables("Transacciones")

es idéntico a:

Me.dgr_Transacciones.SetDataBinding(ds_pagina.Tables("Transacciones"), "")

y

Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")

es idéntico a:

Me.dgr_Transacciones.DataSource = ds_pagina
Me.dgr_Transacciones.DataMember = "Transacciones"


La diferencia entre:

(1) Me.dgr_Transacciones.SetDataBinding(ds_pagina.Tables("Transacciones"),
"")

y

(2) Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")

es que el CurrencyManager asociado es distinto.

Para obtener el currencyManager de (1) sería:

Dim cm As CurrencyManager =
Me.BindingContext(ds_pagina.Tables("Transacciones"))

Y para obtener el currencyManager de (2) sería:

Dim cm As CurrencyManager = Me.BindingContext(ds_pagina, "Transacciones")


Saludos:

Jesús López
MVP Visual Basic
Mentor Asociado Solid Quality Learning
www.solidqualitylearning.com


"Jordi Julià" escribió en el mensaje
news:
Hola a todos,

Alguien podría explicarme que diferencia existe entre cargar un DataGrid
de
una manero u otra:

Me.dgr_Transacciones.DataSource = ds_pagina.Tables("Transacciones")

Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")



Gracias




Respuesta Responder a este mensaje
#2 Jordi Julià
05/01/2005 - 12:34 | Informe spam
Gracias, esto me ha aclarado lo que me pasaba

Tengo un formulario que a traves de una función ejecuta una consulta sql a
la base de datos crea un sqladapter lo pone mediante Fill en un dataset y lo
cargaba en un datagrid mediante el
Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones"). Había
puesto un botón para recargarlo a voluntad, la primera vez lo cargaba
correctamente pero la segunda no reflejaba los cambios que había realizado
directamente en la tabla sql. En cambio al utilizar
Me.dgr_Transacciones.DataSource = ds_pagina.Tables("Transacciones") si que
funciona.

Supongo que de la primera manera me iba creando objetos biding y de la
segunda mantiene el mismo.

Saludos
Jordi

>


"SqlRanger" escribió en el mensaje
news:#
Tal y como lo has puesto el resultado es similar aunque no idéntico.

Me.dgr_Transacciones.DataSource = ds_pagina.Tables("Transacciones")

es idéntico a:

Me.dgr_Transacciones.SetDataBinding(ds_pagina.Tables("Transacciones"), "")

y

Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")

es idéntico a:

Me.dgr_Transacciones.DataSource = ds_pagina
Me.dgr_Transacciones.DataMember = "Transacciones"


La diferencia entre:

(1) Me.dgr_Transacciones.SetDataBinding(ds_pagina.Tables("Transacciones"),
"")

y

(2) Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")

es que el CurrencyManager asociado es distinto.

Para obtener el currencyManager de (1) sería:

Dim cm As CurrencyManager > Me.BindingContext(ds_pagina.Tables("Transacciones"))

Y para obtener el currencyManager de (2) sería:

Dim cm As CurrencyManager = Me.BindingContext(ds_pagina, "Transacciones")


Saludos:

Jesús López
MVP Visual Basic
Mentor Asociado Solid Quality Learning
www.solidqualitylearning.com


"Jordi Julià" escribió en el mensaje
news:
> Hola a todos,
>
> Alguien podría explicarme que diferencia existe entre cargar un DataGrid
> de
> una manero u otra:
>
> Me.dgr_Transacciones.DataSource = ds_pagina.Tables("Transacciones")
>
> Me.dgr_Transacciones.SetDataBinding(ds_pagina, "Transacciones")
>
>
>
> Gracias
>
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida