Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Disculpen mi insistencia Dataset Tipados (http://www.forosdelweb.com/f29/disculpen-mi-insistencia-dataset-tipados-547452/)

alezz 11/01/2008 15:10

Disculpen mi insistencia Dataset Tipados
 
En un anterior post
http://www.forosdelweb.com/f29/alcance-dataset-541594/
mencionaba el alcance de los datasets, lo cual del tiempo hasta ahora aun me intriga.

el punto es que deseo que vb.net no vuelva a llenar el dataset cada vez que abra uno de los multiples formularios.

por ejemplo, si deseo realizar un listado de los clientes, los cargue en el formulario principal y cuando abra el formulario de clientes, solo actualice los datos pero no los llene desde 0 (supongo que el fill desde un dataset con datos se demora menos que uno vacio).

haciendo unas pruebas me di cuenta de lo siguiente

- cada formulario con dataset tipado genera un nuevo dataset (myDbdataset = new mydbdataset ), por tanto esta vacio.

- aunque en el formulario anterior haya llenado los mismos datos este lo hará nuevamente

- dada esta situación, puse los tableadapters en el formulario padre y los llame desde el formulario hijo

Código:

Imports padre = miproyecto.padre

Private Sub hijo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
              padre.SELECT_ClientesTableAdapter.Fill(Me.myDbdataset.SELECT_SELECT_Clientes)


End Sub

- luego en el hijo.designer.vb cambie la linea
Código:

me.mydbdataset = new miproyecto.mydbdataset()
por
Código:

me.mydbdataset = miproyecto.padre.mydbdataset
- y rataplan funcionó, cargue el dataset en el padre y luego en el hijo, antes de hacer el fill, ya tenía los datos

- el problema fue que al ir al designer del formulario hijo me arrojaba error, pero si compilaba funcionaba.

Este es mi primer proyecto, la verdad no se, si mi inquietud será válida, he estado mirando en otros foros (en ingles) y no he podido encontrar información al respecto


disculpen mi insistencia

Saludos .. .. .

juanpablomonte 15/01/2008 05:54

Re: Disculpen mi insistencia Dataset Tipados
 
mira, amigo, tambien podria ser valido declarar en el new() de tu form hijo, el paso("por referencia" del dataset de tu form padre.

sería algo asi:
Public Sub New( ByRef midataset )

' This call is required by the Windows Form Designer.
InitializeComponent()


End Sub

Entonces cuando abres el form hijo:

dim newchildform as new formhijo ( midataset )

el se declara con el paso por referencia de tu dataset hacia el.

El dataset quedará en el hijo en el momento de su inicializacion.

Espero te sirva. Saludos !

alezz 15/01/2008 08:47

Re: Disculpen mi insistencia Dataset Tipados
 
eeee.... funciono.. gracias .. .

pero después de mucho rato insistiendo (no me funcionaba) me di cuenta que cuando vuelves a asignar el dataset

Código:

public sub new (dataset)
          me.midatasetTipado=dataset
end sub

la propiedad datasource de los bindingsource se elimina, asi que hay que volver a asignarlos ...

muchas gracias....

RootK 18/01/2008 12:45

Re: Disculpen mi insistencia Dataset Tipados
 
. . . me quedo en seguir trabajando con Generics and Collections (no me gustan los datasets)

Salu2


La zona horaria es GMT -6. Ahora son las 08:45.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.