Carga de datos para Datagrid WinForms

19/10/2005 - 10:11 por solusoft | Informe spam
Hola a todos.

Para cargar (asignar un dataset) a un datagrids, hago algo así:

System.Data.DataSet ds = GeneralBBDD.ObtenerDataset(select);
this.MIREJILLA.AplicarDataSource(ds);

Tengo un Datagrid personalizado, he heredado de Datagrid y añadido nuevos
métodos.

El método sería:

public void AplicarDataSource(DataSet dataSetParaGrid)
{
DataTable dt = dataSetParaGrid.Tables[0];
System.Data.DataView dv = dt.DefaultView;

this.SetDataBinding(dv, "");
}

La cuesitón es que he visto varias formas de hacer la asingación al
Datasource:

this.DataSource = dv;
this.DataMember = dt.TableName;

this.SetDataBinding(dataSetGrid, "");
this.SetDataBinding(dv, dt.TableName);


this.DataSource = dv;
this.SetDataBinding(dataSetParaGrid,dt.TableName);
or
this.DataSource=dataSetParaGrid.DefaultViewManager;


Cuál sería la más conveniente ? debo asignar directamente un dataset, o
datatalbe, o un dataview o un defaultViewManager ?

La verdad que estoya lgo confuso.
 

Leer las respuestas

#1 Robin
26/10/2005 - 05:12 | Informe spam
ok.
Cuando configuras una fuente de datos a enlace complejo (usando DataSource y
DataMember, por ejemplo)
y lo asignas directamente a la Tabla el DataBinding no se hace directamente
a la tabla, sino a traves de su
DefaultView, asi que da lo mismo, asignar DataMember al DataTable o a su
DefaultView
El DefaultView existe presisamente para eso, para cuando no creas un
DataView directamente
entonces puedes usar un datagrid cambiando el orden de los registros y no
obstante
los registros continuan en el DataTable en al misma posicion inicial, solo
cambian en el DefaultView

Una diferencia puede ser a la hora de usar los DataBindings cuando tienes
varios en el formulario
porque utilizan tu formula DataSource/DataMember para ubicar
el BindingContext y devolverte un BindingManagerBase que puedes usar como
CurrencyManager

Robin Hernandez



"solusoft" wrote in message
news:
Hola a todos.

Para cargar (asignar un dataset) a un datagrids, hago algo así:

System.Data.DataSet ds = GeneralBBDD.ObtenerDataset(select);
this.MIREJILLA.AplicarDataSource(ds);

Tengo un Datagrid personalizado, he heredado de Datagrid y añadido nuevos
métodos.

El método sería:

public void AplicarDataSource(DataSet dataSetParaGrid)
{
DataTable dt = dataSetParaGrid.Tables[0];
System.Data.DataView dv = dt.DefaultView;

this.SetDataBinding(dv, "");
}

La cuesitón es que he visto varias formas de hacer la asingación al
Datasource:

this.DataSource = dv;
this.DataMember = dt.TableName;

this.SetDataBinding(dataSetGrid, "");
this.SetDataBinding(dv, dt.TableName);


this.DataSource = dv;
this.SetDataBinding(dataSetParaGrid,dt.TableName);
or
this.DataSource=dataSetParaGrid.DefaultViewManager;


Cuál sería la más conveniente ? debo asignar directamente un dataset, o
datatalbe, o un dataview o un defaultViewManager ?

La verdad que estoya lgo confuso.

Preguntas similares