Problema con un dataGrid

09/02/2006 - 13:43 por Cecilio | Informe spam
Hola a todos.

Tengo el siguiente problema con un dataGrid:

Tras realizar una consulta a una Base de datos obtengo un dataSet, del
cual creo un DataView que aplico al DataSource de un dataGrid. Las
columnas se visualizan con un ancho estrecho, y por ejemplo hay una de
descripción de 50 caracteres que hay que ir estirándola, esto pasa en
todas las dataGrid.
Como sé las columnas que deben tener un ancho diferente, ¿ como puedo
desde programación asignarles un ancho diferente. ?

Por supuesto el DataSet de origen es sin tipo.

Saludos.

Preguntas similare

Leer las respuestas

#1 Carmelo J. Morales Muñoz
09/02/2006 - 19:36 | Informe spam
hola!

te comento lo que hago yo, por si te sirve:

en el evento Load del formulario donde está el dataGrid, cargo los valores
de ancho de cada columna y en el evento Closed del formulario que alberga al
dataGrid salvo los valores.

De este modo, cuando el usuario ejecuta por primera vez la aplicación y
entra en ese formulario, puede ajustar el ancho de cada columna a su gusto y
se mantendrán para la próxima vez que abra dicho formulario.

YO salvo los datos al registro de windows, algo como:
-Al cargar formulario
string ruta = @"Software\MiSoftware\Form1"
RegistryKey key = Registry.LocalMachine.OpenSubkey(ruta);
if (key != null) {
dataGrid.TableStyles[0].GridcolumStiles[0].with = key.getValue
("Columna0",45);
}

Se me olvidaba, primeroen el dataGrid defino un tableStyle, agrego las
columnas que voy a utilizar.

GridcolumStyle va de (0 a n) siendo <n> el número de columnas que tengas
definidas menos 1.

bueno, espero haberte ayudado!

chao!
Respuesta Responder a este mensaje
#2 Cecilio
09/02/2006 - 20:49 | Informe spam
Carmelo J. Morales Muñoz escribió:
hola!

te comento lo que hago yo, por si te sirve:




No me funciona. Te pego el código que actualiza los datos del dataGrid
ds = ib.Leer("Select * from CUENTAS order by CUENTA","CUENTAS");
DataView dv = new DataView();
dv=ds.Tables[0].DefaultView;

dataGrid1.DataSource=dv;
this.dataGrid1.TableStyles[0].GridColumnStyles[0].Width%;
this.dataGrid1.TableStyles[0].GridColumnStyles[1].Width;
-

Por supuesto, he creado un TableStyle en tiempo de diseño llamado
estilo. Pero, al ejecutar el código que te he pegado, las columnas son
pequeñas, ignora el tamaño y el Headertext que les he dado a cada
culumna en el estilo.
Sobre todo me interea el tamaño.

Gracias.

en el evento Load del formulario donde está el dataGrid, cargo los valores
de ancho de cada columna y en el evento Closed del formulario que alberga al
dataGrid salvo los valores.

De este modo, cuando el usuario ejecuta por primera vez la aplicación y
entra en ese formulario, puede ajustar el ancho de cada columna a su gusto y
se mantendrán para la próxima vez que abra dicho formulario.

YO salvo los datos al registro de windows, algo como:
-Al cargar formulario
string ruta = @"Software\MiSoftware\Form1"
RegistryKey key = Registry.LocalMachine.OpenSubkey(ruta);
if (key != null) {
dataGrid.TableStyles[0].GridcolumStiles[0].with = key.getValue
("Columna0",45);
}

Se me olvidaba, primeroen el dataGrid defino un tableStyle, agrego las
columnas que voy a utilizar.

GridcolumStyle va de (0 a n) siendo <n> el número de columnas que tengas
definidas menos 1.

bueno, espero haberte ayudado!

chao!


Respuesta Responder a este mensaje
#3 Julian
10/03/2006 - 06:30 | Informe spam
Hola pero la respuesta que le das es sobr ela clase DATAGRIDVIEW y no sobre
la Clase DATAGRID, o como puedo utilizar los ocmponentes de datagridview
para hacer eso, por favor cualquier ayuda seria bienvenida

"Kike" wrote:

Puedes poner esta línea de codigo. Con esto conseguirás que todas las
columnas se ajusten al contenido de las celdas.

this.DataGridView1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;


"Cecilio" escribió en el mensaje
news:%
> Carmelo J. Morales Muñoz escribió:
>> hola!
>>
>> te comento lo que hago yo, por si te sirve:
>>
>
> No me funciona. Te pego el código que actualiza los datos del dataGrid
> ds = ib.Leer("Select * from CUENTAS order by CUENTA","CUENTAS");
> DataView dv = new DataView();
> dv=ds.Tables[0].DefaultView;
>
> dataGrid1.DataSource=dv;
> this.dataGrid1.TableStyles[0].GridColumnStyles[0].Width%;
> this.dataGrid1.TableStyles[0].GridColumnStyles[1].Width;
> -
>
> Por supuesto, he creado un TableStyle en tiempo de diseño llamado estilo.
> Pero, al ejecutar el código que te he pegado, las columnas son pequeñas,
> ignora el tamaño y el Headertext que les he dado a cada culumna en el
> estilo.
> Sobre todo me interea el tamaño.
>
> Gracias.
>
>> en el evento Load del formulario donde está el dataGrid, cargo los
>> valores de ancho de cada columna y en el evento Closed del formulario que
>> alberga al dataGrid salvo los valores.
>>
>> De este modo, cuando el usuario ejecuta por primera vez la aplicación y
>> entra en ese formulario, puede ajustar el ancho de cada columna a su
>> gusto y se mantendrán para la próxima vez que abra dicho formulario.
>>
>> YO salvo los datos al registro de windows, algo como:
>> -Al cargar formulario
>> string ruta = @"Software\MiSoftware\Form1"
>> RegistryKey key = Registry.LocalMachine.OpenSubkey(ruta);
>> if (key != null) {
>> dataGrid.TableStyles[0].GridcolumStiles[0].with = key.getValue
>> ("Columna0",45);
>> }
>>
>> Se me olvidaba, primeroen el dataGrid defino un tableStyle, agrego las
>> columnas que voy a utilizar.
>>
>> GridcolumStyle va de (0 a n) siendo <n> el número de columnas que tengas
>> definidas menos 1.
>>
>> bueno, espero haberte ayudado!
>>
>> chao!



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