Ancho de columna en data grid

12/04/2006 - 01:43 por Hugo Gsell | Informe spam
Uso visual basic .net versión 7.1.3088 con framework 1.1
Tengo el sigueinte código... que muestra un datagrid.. con datos de una
tabla (kTable)...
¿Como hago con esta sintaxis y objetos que utilizo para cambiar el ancho de
una columna?

Dim kTable As DataTable
kTable = cPaciente.Tabla("SELECT Ficha.Fecha,Ficha.Dni,Ficha.Clave FROM
ficha ORDER BY Fecha,Dni,Clave")
Flex.AllowSorting = True
Flex.Location = New Point(15, 15)
Flex.CaptionText = "Ayuda de busqueda ..."
Flex.DataSource = kTable
Flex.Visible = True
Flex.Focus()

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
12/04/2006 - 14:39 | Informe spam
Hola Hugo

Prueba a utilizar un estilo para el datagrid, que a su vez contenga un
estilo para cada una de las columnas, y en este estilo de columna le asignas
el ancho. Te adjunto un bloque de código con un ejemplo:

'/////////////////////////////////////////
' crear un estilo para el datagrid y para sus columnas
Dim oEstiloGrid As DataGridTableStyle = New DataGridTableStyle
oEstiloGrid.MappingName = "NombreTabla"

Dim oEstiloCol As DataGridTextBoxColumn = New DataGridTextBoxColumn
oEstiloCol.MappingName = "NombreColumna"
oEstiloCol.HeaderText = "Título columna"
' en la siguiente línea asignamos el ancho de columna
oEstiloCol.Width = 85

' creas el resto de columnas siguiendo el mismo patrón
'

' agregar columnas al estilo, y el estilo al datagrid
oEstiloGrid.GridColumnStyles.AddRange(New DataGridColumnStyle() _
{oEstiloCol,... y el resto de objetos de estilo de columna})

Flex.TableStyles.Add(oEstiloGrid)
'/////////////////////////////////////////

Espero que te sea de ayuda.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Hugo Gsell" wrote:

Uso visual basic .net versión 7.1.3088 con framework 1.1
Tengo el sigueinte código... que muestra un datagrid.. con datos de una
tabla (kTable)...
¿Como hago con esta sintaxis y objetos que utilizo para cambiar el ancho de
una columna?

Dim kTable As DataTable
kTable = cPaciente.Tabla("SELECT Ficha.Fecha,Ficha.Dni,Ficha.Clave FROM
ficha ORDER BY Fecha,Dni,Clave")
Flex.AllowSorting = True
Flex.Location = New Point(15, 15)
Flex.CaptionText = "Ayuda de busqueda ..."
Flex.DataSource = kTable
Flex.Visible = True
Flex.Focus()



Respuesta Responder a este mensaje
#2 Hugo Gsell
15/04/2006 - 14:31 | Informe spam
Haber me parece bastante complicado...
no existe algo simple como en vb6

Flex.ColWidth(0) = 1000

Hugo A. Gsell
Sgo del Estero
Argentina


"Luis Miguel Blanco" escribió
en el mensaje news:
Hola Hugo

Prueba a utilizar un estilo para el datagrid, que a su vez contenga un
estilo para cada una de las columnas, y en este estilo de columna le
asignas
el ancho. Te adjunto un bloque de código con un ejemplo:

'/////////////////////////////////////////
' crear un estilo para el datagrid y para sus columnas
Dim oEstiloGrid As DataGridTableStyle = New DataGridTableStyle
oEstiloGrid.MappingName = "NombreTabla"

Dim oEstiloCol As DataGridTextBoxColumn = New DataGridTextBoxColumn
oEstiloCol.MappingName = "NombreColumna"
oEstiloCol.HeaderText = "Título columna"
' en la siguiente línea asignamos el ancho de columna
oEstiloCol.Width = 85

' creas el resto de columnas siguiendo el mismo patrón
'

' agregar columnas al estilo, y el estilo al datagrid
oEstiloGrid.GridColumnStyles.AddRange(New DataGridColumnStyle() _
{oEstiloCol,... y el resto de objetos de estilo de columna})

Flex.TableStyles.Add(oEstiloGrid)
'/////////////////////////////////////////

Espero que te sea de ayuda.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Hugo Gsell" wrote:

Uso visual basic .net versión 7.1.3088 con framework 1.1
Tengo el sigueinte código... que muestra un datagrid.. con datos de una
tabla (kTable)...
¿Como hago con esta sintaxis y objetos que utilizo para cambiar el ancho
de
una columna?

Dim kTable As DataTable
kTable = cPaciente.Tabla("SELECT Ficha.Fecha,Ficha.Dni,Ficha.Clave FROM
ficha ORDER BY Fecha,Dni,Clave")
Flex.AllowSorting = True
Flex.Location = New Point(15, 15)
Flex.CaptionText = "Ayuda de busqueda ..."
Flex.DataSource = kTable
Flex.Visible = True
Flex.Focus()



Respuesta Responder a este mensaje
#3 Leonardo Azpurua
15/04/2006 - 18:22 | Informe spam
"Hugo Gsell" escribió en el mensaje
news:
Haber me parece bastante complicado...
no existe algo simple como en vb6

Flex.ColWidth(0) = 1000



No.

Por suerte llegué a tiempo de activar el Kit de Herramientas de VB.Net, que
MS estuvo regalando durante todo el 2004, que incluye un grid de Component
One, tan simple como el viejo MSFlexGrid y tan poderoso como el nuevo
DataGrid.

Por otra parte, tampoco es una cosa del otro mundo: en un datagrid tienes el
control en si, un DataTable para acceder a los datos y un TableStyle para
definir las propiedades visuales tanto del control como de las columnas.

Una de las primeras cosas que hice con .Net fue un control basado en el
dataGrid, que juntara en una sola interfaz de tiempo de diseño las
caracteristicas de formato y contenido de la cuadricula. Luego lo estropeé
tratando de agregarle una cantidad de funcionalidad, pero ya me habia pasado
al C1, de manera que lo perdi.

Pero es un control relativamente simple.

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