Foros del Web » Programación para mayores de 30 ;) » .NET »

Dar Formato A Un Datagrid Mediante Codigo

Estas en el tema de Dar Formato A Un Datagrid Mediante Codigo en el foro de .NET en Foros del Web. Hola a todos: Tengo la siguiente dificultad, agradeceria si alguien me ayuda: Tengo un formulario, en el cual hay un datagrid, y en el evento ...
  #1 (permalink)  
Antiguo 20/10/2004, 13:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 96
Antigüedad: 21 años
Puntos: 0
Sonrisa Dar Formato A Un Datagrid Mediante Codigo

Hola a todos:
Tengo la siguiente dificultad, agradeceria si alguien me ayuda:
Tengo un formulario, en el cual hay un datagrid, y en el evento frm_load le doy el formato al datagrid; algo como esto:


Dim cCodigo As New DataColumn("cod", GetType(Integer))

Dim cDetalle As New DataColumn("det", GetType(String))



dt1.Columns.Add(cCodigo)

dt1.Columns.Add(cDetalle)

dg.DataSource = dt1

Dim ts As New DataGridTableStyle

Dim dgtCodigo As New DataGridTextBoxColumn

Dim dgtProducto As New DataGridTextBoxColumn



ts.MappingName = "Detalle_Pedido"



dgtCodigo.MappingName = "cod"

dgtCodigo.HeaderText = "Codigo del Articulo"

dgtCodigo.ReadOnly = True

ts.GridColumnStyles.Add(dgtCodigo)

'

dgtProducto.MappingName = "det"

dgtProducto.HeaderText = "Descripcion del Articulo"

dgtProducto.ReadOnly = True

ts.GridColumnStyles.Add(dgtProducto)

por mencionar algunas columnas, bueno, la cosa es que este datagrid va a cargar el detalle de una factura, cuando le den clik al control Abrir, y elijan un registro de un combobox:

Private Sub btnAbrir_Click

Dim datos As DataSet = oConexion.cargar_detalle_cuenta(registro)

dt1 = datos.Tables(0).Copy

dt1.AcceptChanges()

'Si no coloco la siguiente linea, el datagrid esta vacio, en cambio si agrego la siguiente linea, el datagrid se llena de datos, pero no con el formato definido anteriormente, por ejemplo, no sale el titulo que le puse a la columna, sino sale el nombre del campo

Me.dtgPedido.DataSource = dt1

End Sub

__________________________________________________ ____

Tambien queria consultarles como hacer para que en una columna del datadrid, que va tener datos del tipo money, ponerles un formato, yo estaba poniendo asi:

dgtImporte.MappingName = "imp"

dgtImporte.Alignment = HorizontalAlignment.Center

dgtImporte.HeaderText = "Importe"

dgtImporte.ReadOnly = True

ts.GridColumnStyles.Add(dgtImporte).ToString("$#,# #0.00;($#,##0.00)")

pero no sale, con este formato, sino como esta en la base de datos

______________________________

BUENO, ESPERO ME PUEDAN AYUDAR, PORQUE HE PROBADO UN MONTON DE COSAS Y CAMBIADO EL CODIGO PERO NADA, PORFAVOR AYUDEMME

GRACIAS Y SALUDOS...................
  #2 (permalink)  
Antiguo 20/10/2004, 14:38
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Cita:
cuando le den clik al control Abrir, y elijan un registro de un combobox:
ya intentaste volver a cargar los styles anteriores de tu dt1 ?

Ya que posiblemente cuando haces ésto:

Cita:
dt1 = datos.Tables(0).Copy
Le estas pasando el nuevo dataset con su estructura, styles, etc y por ello los estilos se pierden.

Porque no haces una funcion que te regrese los styles para cuando hagas el copy los vuelvas a cargar..

Cita:
Tambien queria consultarles como hacer para que en una columna del datadrid,
Porque no haces algo como ésto:

Cita:
dgtImporte.MappingName = "imp"
dgtImporte.Alignment = HorizontalAlignment.Center
dgtImporte.HeaderText = "Importe"
dgtImporte.ReadOnly = True
dgtImporte.Format = "c"
ts.GridColumnStyles.Add(dgtImporte)
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.