DataGrid Dinamico

18/05/2005 - 19:12 por yego | Informe spam
Hola a todos.
Estoy empezando y ya empiezo a tener trabas.
Me gustaría que alguien me echase una mano con el siguiente tema:
Quiero que un Datagrid se rellene dinamicamente, esto es; por ejemplo que
cuando en un control ListBox cargado con datos se hace un doble clic sobre
una entrada, esta pase directamente al DataGrid.
Otra de las dudas que también me surgen, es como podría enlazar una matriz
dinámica a un DataGrid, y que según actuen sobre el DataGrid, ya sea
borrando o modificando un dato, actualice al mismo tiempo mi matriz; cuando
hablo de matriz dinámica me refiero tanto a filas como columnas.

Un saludo.
P.D. Yo a vosotros no se si esto os resultará difícil, pero yo sudo sangre.

Preguntas similare

Leer las respuestas

#1 Fabian Tapia
18/05/2005 - 21:57 | Informe spam
Hola:

Para la primera parte mis sugerencia es en el evento "Change" de la lista
actualizar el datatable y asegurarse de que la propiedad autopostback esta en
True para que recarge toda la pagina y el DataGrid "refleje" los cambios.
Para la seunda opciòn sería algo parecido en algun evento de la grilla
llamar a un método que actualize la matriz.

salu2
Thales - Services Division
Bulnes 2756 P.5 - C1425DKX
Ciudad Autónoma de Buenos Aires
Tel.: (+5411) 4806-9146
Fax.: (+5411) 4807-0563


"yego" wrote:

Hola a todos.
Estoy empezando y ya empiezo a tener trabas.
Me gustaría que alguien me echase una mano con el siguiente tema:
Quiero que un Datagrid se rellene dinamicamente, esto es; por ejemplo que
cuando en un control ListBox cargado con datos se hace un doble clic sobre
una entrada, esta pase directamente al DataGrid.
Otra de las dudas que también me surgen, es como podría enlazar una matriz
dinámica a un DataGrid, y que según actuen sobre el DataGrid, ya sea
borrando o modificando un dato, actualice al mismo tiempo mi matriz; cuando
hablo de matriz dinámica me refiero tanto a filas como columnas.

Un saludo.
P.D. Yo a vosotros no se si esto os resultará difícil, pero yo sudo sangre.



Respuesta Responder a este mensaje
#2 Tristan
18/05/2005 - 23:26 | Informe spam
Hay muchas maneras de llenar dinámicamente un datagrid. La más sencilla
probablemente sea generar por código un datatable con las filas y columnas
que necesites. Es decir:

private DataTable tabla = new DataTable();

tabla.Columns.Add("Columna1");
tabla.Columns.Add("Columna2");
tabla.Columns.Add("Columna3", typeof(int));
tabla.Rows.Add(new object[] {"fila1", "datos2", 1});
tabla.Rows.Add(new object[] {"fila2", "datos2", 2});
this.dataGrid1.DataSource = tabla;

Para seguir añadiendo columnas posteriormente, se hace igual que antes:

tabla.Columns.Add("otra");

Y para añadir filas puedes hacerlo como antes, pasando un array de objects,
aunque como alternativa te muestro otra forma de añadir filas: añadiendo un
objeto DataRow:

DataRow fila = tabla.NewRow();
fila[0] = "fila3";
fila[1] = "datos2";
fila[2] = 3;
fila[3] = "otros";
tabla.Rows.Add(fila);

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#3 Tristan
18/05/2005 - 23:37 | Informe spam
Por cierto puesto que ahora mismo te da miedo, tal vez te sirva de ayuda un
método como este:

private DataTable CreateDataTable(int filas, int columnas)
{
DataTable tabla = new DataTable();
for (int i = 1; i <= columnas; i++)
tabla.Columns.Add("columna" + i.ToString());
for (int i = 1; i <= filas; i++)
tabla.Rows.Add(tabla.NewRow());
return tabla;
}

Utilizando este método espero que te resulte más intuitivo trabajar con
DataGrid:

DataTable tabla = CreateDataTable(4, 3);
tabla.Rows[0][0] = "A1";
tabla.Rows[0][1] = "B1";
tabla.Rows[1][0] = "A2";
tabla.Rows[1][1] = "B2";
tabla.Columns[0].ColumnName = "A";
tabla.Columns[1].ColumnName = "B";
this.dataGrid1.DataSource = tabla;

Juan Carlos Badiola
MVP - C#
"yego" escribió en el mensaje
news:
Hola a todos.
Estoy empezando y ya empiezo a tener trabas.
Me gustaría que alguien me echase una mano con el siguiente tema:
Quiero que un Datagrid se rellene dinamicamente, esto es; por ejemplo que
cuando en un control ListBox cargado con datos se hace un doble clic sobre
una entrada, esta pase directamente al DataGrid.
Otra de las dudas que también me surgen, es como podría enlazar una matriz
dinámica a un DataGrid, y que según actuen sobre el DataGrid, ya sea
borrando o modificando un dato, actualice al mismo tiempo mi matriz;
cuando
hablo de matriz dinámica me refiero tanto a filas como columnas.

Un saludo.
P.D. Yo a vosotros no se si esto os resultará difícil, pero yo sudo
sangre.


Respuesta Responder a este mensaje
#4 yego
19/05/2005 - 10:07 | Informe spam
Muchas gracias Fabian.
"Fabian Tapia" escribió en el
mensaje news:
Hola:

Para la primera parte mis sugerencia es en el evento "Change" de la lista
actualizar el datatable y asegurarse de que la propiedad autopostback esta


en
True para que recarge toda la pagina y el DataGrid "refleje" los cambios.
Para la seunda opciòn sería algo parecido en algun evento de la grilla
llamar a un método que actualize la matriz.

salu2
Thales - Services Division
Bulnes 2756 P.5 - C1425DKX
Ciudad Autónoma de Buenos Aires
Tel.: (+5411) 4806-9146
Fax.: (+5411) 4807-0563


"yego" wrote:

> Hola a todos.
> Estoy empezando y ya empiezo a tener trabas.
> Me gustaría que alguien me echase una mano con el siguiente tema:
> Quiero que un Datagrid se rellene dinamicamente, esto es; por ejemplo


que
> cuando en un control ListBox cargado con datos se hace un doble clic


sobre
> una entrada, esta pase directamente al DataGrid.
> Otra de las dudas que también me surgen, es como podría enlazar una


matriz
> dinámica a un DataGrid, y que según actuen sobre el DataGrid, ya sea
> borrando o modificando un dato, actualice al mismo tiempo mi matriz;


cuando
> hablo de matriz dinámica me refiero tanto a filas como columnas.
>
> Un saludo.
> P.D. Yo a vosotros no se si esto os resultará difícil, pero yo sudo


sangre.
>
>
>
Respuesta Responder a este mensaje
#5 yego
19/05/2005 - 10:08 | Informe spam
Muchísimas gracias Juan, no sabes bien de cuanto, de cuanto, de cuanto, me
ha servido tus explicaciones.
Ahora mismo lo voy a poner en práctica.



"Tristan" escribió en el mensaje
news:esAYUH$
Por cierto puesto que ahora mismo te da miedo, tal vez te sirva de ayuda


un
método como este:

private DataTable CreateDataTable(int filas, int columnas)
{
DataTable tabla = new DataTable();
for (int i = 1; i <= columnas; i++)
tabla.Columns.Add("columna" + i.ToString());
for (int i = 1; i <= filas; i++)
tabla.Rows.Add(tabla.NewRow());
return tabla;
}

Utilizando este método espero que te resulte más intuitivo trabajar con
DataGrid:

DataTable tabla = CreateDataTable(4, 3);
tabla.Rows[0][0] = "A1";
tabla.Rows[0][1] = "B1";
tabla.Rows[1][0] = "A2";
tabla.Rows[1][1] = "B2";
tabla.Columns[0].ColumnName = "A";
tabla.Columns[1].ColumnName = "B";
this.dataGrid1.DataSource = tabla;

Juan Carlos Badiola
MVP - C#
"yego" escribió en el mensaje
news:
> Hola a todos.
> Estoy empezando y ya empiezo a tener trabas.
> Me gustaría que alguien me echase una mano con el siguiente tema:
> Quiero que un Datagrid se rellene dinamicamente, esto es; por ejemplo


que
> cuando en un control ListBox cargado con datos se hace un doble clic


sobre
> una entrada, esta pase directamente al DataGrid.
> Otra de las dudas que también me surgen, es como podría enlazar una


matriz
> dinámica a un DataGrid, y que según actuen sobre el DataGrid, ya sea
> borrando o modificando un dato, actualice al mismo tiempo mi matriz;
> cuando
> hablo de matriz dinámica me refiero tanto a filas como columnas.
>
> Un saludo.
> P.D. Yo a vosotros no se si esto os resultará difícil, pero yo sudo
> sangre.
>
>


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