Ayuda tamaño columnas DataGrid

16/01/2005 - 16:51 por dani25A | Informe spam
Hola, estoy trabajando con VB. net, en una aplicación para windows y tengo el
siguiente problema: No se como indicarle al control datagrid para asignarle a
cada columna el tamaño que yo quiera, por defecto me aparecen todas las
columnas con igual tamaño.

Gracias !!

Dani

Preguntas similare

Leer las respuestas

#1 Pedro Luna Montalvo, MVP
16/01/2005 - 17:38 | Informe spam
Puedes usar la propiedad PreferredColumnWidth para indicar el ancho
predeterminado de cada columna.

O si lo prefieres darle caracteristicas personalizadas a cada columna,
deberas usar la propiedad TableStyles del DataGrid.

El siguiente fragmento lo extraje de la ayuda de dicha propiedad, desde el
.NET Framework SDK y te indica los pasos requeridos para ello:

"
De manera predeterminada, la colección que devuelve la propiedad TableStyles
no contiene ningún objeto DataGridTableStyle. Para crear un conjunto de
vistas personalizadas:

1.. Cree un objeto DataGridTableStyle.
2.. Establezca la propiedad MappingName del objeto de tabla de la
cuadrícula en la propiedad TableName de un objeto DataTable.
3.. Agregue objetos DataGridColumnStyle, uno por cada columna de
cuadrícula que desee mostrar, a GridColumnStylesCollection que devuelve la
propiedad GridColumnStyles.
4.. Establezca la propiedad MappingName de cada objeto DataGridColumnStyle
en la propiedad ColumnName de un objeto DataColumn.
5.. Agregue el objeto DataGridTableStyle a la colección que devuelve la
propiedad TableStyles.
PRECAUCIÓN Primero deben crearse los objetos DataGridColumnStyle y,
después, deben agregarse a GridColumnStylesCollection antes de agregar los
objetos DataGridTableStyle a GridTableStylesCollection. Cuando se agrega un
DataGridTableStyle vacío a la colección, se generan automáticamente objetos
DataGridColumnStyle. Por lo tanto, se iniciará una excepción si se intentan
agregar nuevos objetos DataGridColumnStyle a GridColumnStylesCollection con
valores de MappingName duplicados.
"

El objeto DataGridColumnStyle, entre otras cosas, tiene una propiead Width
para el ancho de la columna.


Saludos
Pedro Luna, [MVP VB.NET]
Gye, Ecu


"dani25A" escribió en el mensaje
news:
Hola, tengo el siguiente problema: No se como indicarle al control
datagrid
para asignarle a cada columna el tamaño que yo quiera, por defecto me
aparecen todas las columnas con igual tamaño.

Gracias !!

Dani
Respuesta Responder a este mensaje
#2 Imac_Man
17/01/2005 - 15:48 | Informe spam
a Rascus le he respondido con un codigo que seguro te sirve a ti, revisalo
en fecha 17/01/2005

Saludos

"dani25A" escribió en el mensaje
news:
Hola, estoy trabajando con VB. net, en una aplicación para windows y tengo
el
siguiente problema: No se como indicarle al control datagrid para
asignarle a
cada columna el tamaño que yo quiera, por defecto me aparecen todas las
columnas con igual tamaño.

Gracias !!

Dani
Respuesta Responder a este mensaje
#3 Jaime Sandoval
18/01/2005 - 02:25 | Informe spam
Pon algo como esto, lo acabo de probar y si funciona:

Dim tClientes As System.Data.OleDb.OleDbDataAdapter = New
System.Data.OleDb.OleDbDataAdapter("select nombre, nit, direccion, telefono,
nregistro_impexp from clientes", "variable de proveedor de conexion")

tClientes.MissingSchemaAction = MissingSchemaAction.AddWithKey

tClientes.Fill(result)

'Create a new custom grid style

Dim myGridStyle As New DataGridTableStyle

'Bind the style to the datasource

myGridStyle.MappingName = tClientes.Tables(0).TableName

'Create a new column definition

Dim NumberColumn As New DataGridTextBoxColumn

'Define the property in the data source this column will bind to

NumberColumn.MappingName = "nombre"

'Customise the Header text

NumberColumn.HeaderText = "Nombre del Cliente"

'Set the Width

NumberColumn.Width = 200

'Over-ride the text used for NULL values

NumberColumn.NullText = ""

'Add column to the connection

myGridStyle.GridColumnStyles.Add(NumberColumn)

'Nit

Dim NameColumn As New DataGridTextBoxColumn

NameColumn.MappingName = "nit"

NameColumn.HeaderText = "Nit"

NameColumn.Width = 100

NameColumn.NullText = "None Specified"

myGridStyle.GridColumnStyles.Add(NameColumn)

'Direccion

NameColumn = New DataGridTextBoxColumn

NameColumn.MappingName = "direccion"

NameColumn.HeaderText = "Dirección"

NameColumn.Width = 200

NameColumn.NullText = ""

myGridStyle.GridColumnStyles.Add(NameColumn)

'Telefono

NameColumn = New DataGridTextBoxColumn

NameColumn.MappingName = "telefono"

NameColumn.HeaderText = "Teléfonos"

NameColumn.Width = 150

NameColumn.NullText = ""

myGridStyle.GridColumnStyles.Add(NameColumn)

'nregistro_impexp

NameColumn = New DataGridTextBoxColumn

NameColumn.MappingName = "nregistro_impexp"

NameColumn.HeaderText = "Número de Importador/Exportador"

NameColumn.Width = 150

NameColumn.NullText = ""

myGridStyle.GridColumnStyles.Add(NameColumn)

gridDatos.TableStyles.Add(myGridStyle)



gridDatos.DataSource = tClientes.Tables(0)



"dani25A" escribió en el mensaje
news:
Hola, estoy trabajando con VB. net, en una aplicación para windows y tengo


el
siguiente problema: No se como indicarle al control datagrid para


asignarle a
cada columna el tamaño que yo quiera, por defecto me aparecen todas las
columnas con igual tamaño.

Gracias !!

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