09/02/2007, 22:23
|
| | | Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 9 meses Puntos: 1 | |
Re: Formatear Datos de una Columna del Grid Hay una coleccio llamada DataGridStyles y pues te pongo un ejemplo de como lo halle en internet:
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Public Class Form1
Inherits System.Windows.Forms.Form
' ...
' código generedo por el diseñador de windows form
' ...
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
'establecemos la referencia cultural del subproceso actual Español-Perú.
System.Threading.Thread.CurrentThread.CurrentCultu re = _
New System.Globalization.CultureInfo("es-PE")
Dim TableName As New String("MyTable")
Dim ObjEstiloTabla As New DataGridTableStyle
With ObjEstiloTabla
.MappingName = TableName
.AlternatingBackColor = Color.Coral
.BackColor = Color.Orange
.ForeColor = Color.White
.HeaderForeColor = Color.Blue
.LinkColor = SystemColors.Control
.AllowSorting = False
.HeaderFont = New System.Drawing.Font("Verdana", 8.25F, _
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, _
CType(1, System.Byte))
End With
Me.DataGrid1.TableStyles.Add(ObjEstiloTabla)
Me.DataGrid1.DataSource = GetMyTable(TableName)
Dim ObjEstiloColumna As DataGridTextBoxColumn
'formateamos la columna 0 ó "Integer" para datos enteros
ObjEstiloColumna = DataGrid1.TableStyles(0).GridColumnStyles(0)
If Not (ObjEstiloColumna Is Nothing) Then
ObjEstiloColumna.Format = "n1"
End If
'formateamos la columna 1 ó "Double" para datos de tipo double
ObjEstiloColumna = DataGrid1.TableStyles(0).GridColumnStyles(1) '
If Not (ObjEstiloColumna Is Nothing) Then
ObjEstiloColumna.Format = "f3"
End If
'formateamos los datos de la columna anterior como moneda nacional
'(en este caso, usaremos la moneda nacional peruana)
ObjEstiloColumna = DataGrid1.TableStyles(0).GridColumnStyles(2) '
If Not (ObjEstiloColumna Is Nothing) Then
ObjEstiloColumna.Format = "c2"
End If
'formateamos los datos de la columna 3 ó "Date" como Date
ObjEstiloColumna = DataGrid1.TableStyles(0).GridColumnStyles(3) '
If Not (ObjEstiloColumna Is Nothing) Then
ObjEstiloColumna.Format = "d"
ObjEstiloColumna.Width = 100
End If
End Sub
Private Function GetMyTable(ByVal TableName As String) As DataTable
Dim dt As New DataTable(TableName)
Dim RowsCount As Integer = 10
dt.Columns.Add(New DataColumn("Integer", GetType(Integer)))
dt.Columns.Add(New DataColumn("Double", GetType(Double)))
dt.Columns.Add(New DataColumn("s/. Double", GetType(Double)))
dt.Columns.Add(New DataColumn("Date", GetType(DateTime)))
Dim r As New Random 'objeto que generará un número aleatorio
Dim i As Integer
While i < RowsCount
Dim d As Double = 1000 * r.NextDouble()
Dim dr As DataRow = dt.NewRow()
dr(0) = Fix(d)
dr(1) = d
dr(2) = d
dr(3) = DateTime.Now.Date.AddMonths(CType(r.NextDouble * 21, Double))
dt.Rows.Add(dr)
i += 1
End While
Return dt
End Function
End Class
Es muy sencillo espero poder ayudar
saludos |