Añadir Columna a un datagrid con estilo declarado

02/09/2004 - 15:09 por Michel | Informe spam
Tengo un DataGrid con una serie de columnas especificas diseñadas a partir
de la Propiedad
TableStyles y me gustariá añadir una columna calculada.
Si la añado anulando TableStyles si me aparece la columna pero si no lo
anulo es decir que utilizo
TableStyles para darle formato al datagrid no me aparece la columna.
Alguien me puede ayudar

Preguntas similare

Leer las respuestas

#1 Paulo Conde
02/09/2004 - 18:52 | Informe spam
Si colocas el código que estas utilizando te puedo echar una mano

Saludos

Paulo G. Conde M.
+58-416-4721293
+58-273-5412395

Barinas, Venezuela
Respuesta Responder a este mensaje
#2 Michel
03/09/2004 - 08:30 | Informe spam
'Nueva columna al cargar el formulario

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim MiTotal As DataColumn = New DataColumn()

MiTotal.DataType = System.Type.GetType("System.Decimal")

MiTotal.ColumnName = "Subtotal"

MiTotal.AllowDBNull = False

MiTotal.DefaultValue = 0

MiTotal.Caption = "Subtotal"

MiTotal.ColumnName = "Subtotal"

MiTotal.Expression = "Precio * Cantidad - Descuento"

Me.DtsControldg1.Lalbaran.Columns.Add(MiTotal)

End Sub

'Cálculo del subtotal

Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles DataGrid1.CurrentCellChanged

Dim objSum As Object

Me.LblTotal.Text = 0

objSum = Me.DtsControldg1.Lalbaran.Compute("Sum(Subtotal)", "Subtotal > 0 ")

Me.LblTotal.Text = Format(CStr(objSum), "Currency")

End Sub


Esto funciona, ahora,si personalizo el datagrid con la propiedad
TableStyles para delimitar las columnas que quiero que se vean , deja de
verse la columna subtotal, auque el cálculo del total de la columna que como
ves lo saco a un Label eso si fuciona.

Gracias de antemano y un saludo



"Paulo Conde" escribió en el mensaje
news:#$
Si colocas el código que estas utilizando te puedo echar una mano

Saludos

Paulo G. Conde M.
+58-416-4721293
+58-273-5412395

Barinas, Venezuela


Respuesta Responder a este mensaje
#3 J. Carlos Herrero
04/09/2004 - 21:51 | Informe spam
Hola:
Prueba a introducir la nueva columna en la Select
Ejemplo:

Private Sub frmGridPropCod_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
' crear conexión
Dim loConexion As New SqlConnection
loConexion.ConnectionString = "Server=(local);Database=TUBASE;uid=sa;pwd=;"

' crear adaptador
'la columna PRECIO*2 as TOTAL es una columna calculada
moDataAdapter = New SqlDataAdapter("Select PRECIO, PRECIO*2 as TOTAL from TUTABLA", loConexion)
' crear dataset
moDataSet = New DataSet
moDataAdapter.Fill(moDataSet, "TUTABLA")
' asignar dataset al datagrid
Me.TuDataGrid.DataSource = moDataSet
Me.TuDataGrid.DataMember = "TUTABLA"

' configurar grid por código
Me.TuDataGrid.Anchor = AnchorStyles.Bottom + AnchorStyles.Left + AnchorStyles.Right + AnchorStyles.Top
Me.TuDataGrid.CaptionText = "El listado de prueba"
Me.TuDataGrid.CaptionBackColor = Color.Turquoise
Me.TuDataGrid.CaptionForeColor = Color.Black

' crear un objeto para estilos del datagrid
Dim loEstiloGrid As New DataGridTableStyle
loEstiloGrid.MappingName = "TUTABLA"
loEstiloGrid.BackColor = Color.LightGoldenrodYellow
loEstiloGrid.AlternatingBackColor = Color.Aquamarine

' crear objetos de columna-grid para cada columna de la tabla a mostrar en el datagrid
Dim loColGrid As DataGridTextBoxColumn
' configurar cada objeto de columna-grid
loColGrid = New DataGridTextBoxColumn
loColGrid.TextBox.Enabled = False
loColGrid.Alignment = HorizontalAlignment.Right
loColGrid.HeaderText = "Valor pagado"
loColGrid.MappingName = "PRECIO"
loColGrid.Width = 85
loColGrid.Format = "#,#.##"
loEstiloGrid.GridColumnStyles.Add(loColGrid)
loColGrid = Nothing

loColGrid = New DataGridTextBoxColumn
loColGrid.TextBox.Enabled = False
loColGrid.Alignment = HorizontalAlignment.Right
loColGrid.HeaderText = "TOTAL PAGADO"
loColGrid.MappingName = "TOTAL"
loColGrid.Width = 100
loColGrid.Format = "#,#.##"
loEstiloGrid.GridColumnStyles.Add(loColGrid)
loColGrid = Nothing
' una vez creadas todas las columnas de estilos
' para el grid, añadir el objeto
' que contiene el estilo personalizado
' a la colección de estilos de tablas del datagrid
Me.TuDataGrid.TableStyles.Add(loEstiloGrid)
End Sub

Espero que te sirva
Un saludo:
Carlos


Michel wrote:
Tengo un DataGrid con una serie de columnas especificas diseñadas a
partir de la Propiedad
TableStyles y me gustariá añadir una columna calculada.
Si la añado anulando TableStyles si me aparece la columna pero si no
lo anulo es decir que utilizo
TableStyles para darle formato al datagrid no me aparece la columna.
Alguien me puede ayudar
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida