Ayuda con clase de form y datatable

17/02/2008 - 15:43 por Jose Guzman | Informe spam
Sin saber mucho me he puesto a inventar con una clase heredable de form y me
he liado. Esa clase de form la tengo con un campo que es un Dataset
generico.
Tengo otra clase heredable de un datatable generico. Me costo mucho pero
logre que esta clase me aparezca en la barra de controles para poder
arrastrarlos al form en tiempo de diseño y cambiarle las propiedades que le
puse, por ej. una propiedad es un string para escribir la sentencia select.

Hasta ahi bien. Ahora lo que quiero es que los datatables que yo meto en
tiempo de diseño se me agreguen automaticamente al campo del form que me
guarda el DataSet.

Me rompo la cabeza pero no encuentro donde poner eso.

Preguntas similare

Leer las respuestas

#1 Jesús López
17/02/2008 - 18:26 | Informe spam
No hay nada que puedas hacer en el código del fomulario ni en el código del
datatable para hacer eso que quieres.

Saludos:

Jesús López



"Jose Guzman" escribió en el mensaje
news:
Sin saber mucho me he puesto a inventar con una clase heredable de form y
me he liado. Esa clase de form la tengo con un campo que es un Dataset
generico.
Tengo otra clase heredable de un datatable generico. Me costo mucho pero
logre que esta clase me aparezca en la barra de controles para poder
arrastrarlos al form en tiempo de diseño y cambiarle las propiedades que
le puse, por ej. una propiedad es un string para escribir la sentencia
select.

Hasta ahi bien. Ahora lo que quiero es que los datatables que yo meto en
tiempo de diseño se me agreguen automaticamente al campo del form que me
guarda el DataSet.

Me rompo la cabeza pero no encuentro donde poner eso.






Respuesta Responder a este mensaje
#2 Jose Guzman
18/02/2008 - 01:47 | Informe spam
Bueno una solucion probable que pensé fue recorrer (en el form_load) todas
las datatables de la clase en cuestion e irlas agregando al campo dataset.

Se puede eso?

Gracias Jesus.

"Jesús López" escribió en el
mensaje news:%
No hay nada que puedas hacer en el código del fomulario ni en el código
del datatable para hacer eso que quieres.

Saludos:

Jesús López



"Jose Guzman" escribió en el mensaje
news:
Sin saber mucho me he puesto a inventar con una clase heredable de form y
me he liado. Esa clase de form la tengo con un campo que es un Dataset
generico.
Tengo otra clase heredable de un datatable generico. Me costo mucho pero
logre que esta clase me aparezca en la barra de controles para poder
arrastrarlos al form en tiempo de diseño y cambiarle las propiedades que
le puse, por ej. una propiedad es un string para escribir la sentencia
select.

Hasta ahi bien. Ahora lo que quiero es que los datatables que yo meto en
tiempo de diseño se me agreguen automaticamente al campo del form que me
guarda el DataSet.

Me rompo la cabeza pero no encuentro donde poner eso.










Respuesta Responder a este mensaje
#3 Jesús López
18/02/2008 - 10:41 | Informe spam
Bueno, podrías hacerlo usando Reflection:

Suponiendo que el dataset se llama miDataSet y que ya está creado, lo que
hacemos es recorrer todos los campos del formulario para encontrar aquellos
que son del tipo DataTable o de algún tipo derivado de DataTable, y los
vamos añadiendo a la colección tables del dataset.

private void Form1_Load(object sender, EventArgs e)
{
Type type = this.GetType();
FieldInfo[] fis = type.GetFields(BindingFlags.Instance |
BindingFlags.Public | BindingFlags.NonPublic);

foreach (FieldInfo fi in fis)
{
if (typeof(DataTable).IsAssignableFrom(fi.FieldType))
{
this.miDataSet.Tables.Add( (DataTable) fi.GetValue(this));
}
}
}


Saludos:

Jesús López
www.solidq.com



"Jose Guzman" escribió en el mensaje
news:%
Bueno una solucion probable que pensé fue recorrer (en el form_load) todas
las datatables de la clase en cuestion e irlas agregando al campo dataset.

Se puede eso?

Gracias Jesus.

"Jesús López" escribió en el
mensaje news:%
No hay nada que puedas hacer en el código del fomulario ni en el código
del datatable para hacer eso que quieres.

Saludos:

Jesús López



"Jose Guzman" escribió en el mensaje
news:
Sin saber mucho me he puesto a inventar con una clase heredable de form
y me he liado. Esa clase de form la tengo con un campo que es un
Dataset generico.
Tengo otra clase heredable de un datatable generico. Me costo mucho pero
logre que esta clase me aparezca en la barra de controles para poder
arrastrarlos al form en tiempo de diseño y cambiarle las propiedades que
le puse, por ej. una propiedad es un string para escribir la sentencia
select.

Hasta ahi bien. Ahora lo que quiero es que los datatables que yo meto
en tiempo de diseño se me agreguen automaticamente al campo del form que
me guarda el DataSet.

Me rompo la cabeza pero no encuentro donde poner eso.














Respuesta Responder a este mensaje
#4 Jose Guzman
18/02/2008 - 12:21 | Informe spam
Muchas gracias Jesus, me ha funcionado bien para lo que estaba necesitando.


"Jesús López" escribió en el
mensaje news:%
Bueno, podrías hacerlo usando Reflection:

Suponiendo que el dataset se llama miDataSet y que ya está creado, lo que
hacemos es recorrer todos los campos del formulario para encontrar
aquellos que son del tipo DataTable o de algún tipo derivado de DataTable,
y los vamos añadiendo a la colección tables del dataset.

private void Form1_Load(object sender, EventArgs e)
{
Type type = this.GetType();
FieldInfo[] fis = type.GetFields(BindingFlags.Instance |
BindingFlags.Public | BindingFlags.NonPublic);

foreach (FieldInfo fi in fis)
{
if (typeof(DataTable).IsAssignableFrom(fi.FieldType))
{
this.miDataSet.Tables.Add( (DataTable) fi.GetValue(this));
}
}
}


Saludos:

Jesús López
www.solidq.com



"Jose Guzman" escribió en el mensaje
news:%
Bueno una solucion probable que pensé fue recorrer (en el form_load)
todas las datatables de la clase en cuestion e irlas agregando al campo
dataset.

Se puede eso?

Gracias Jesus.

"Jesús López" escribió en el
mensaje news:%
No hay nada que puedas hacer en el código del fomulario ni en el código
del datatable para hacer eso que quieres.

Saludos:

Jesús López



"Jose Guzman" escribió en el mensaje
news:
Sin saber mucho me he puesto a inventar con una clase heredable de form
y me he liado. Esa clase de form la tengo con un campo que es un
Dataset generico.
Tengo otra clase heredable de un datatable generico. Me costo mucho
pero logre que esta clase me aparezca en la barra de controles para
poder arrastrarlos al form en tiempo de diseño y cambiarle las
propiedades que le puse, por ej. una propiedad es un string para
escribir la sentencia select.

Hasta ahi bien. Ahora lo que quiero es que los datatables que yo meto
en tiempo de diseño se me agreguen automaticamente al campo del form
que me guarda el DataSet.

Me rompo la cabeza pero no encuentro donde poner eso.


















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