Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2007, 22:23
Avatar de JonhyReyes
JonhyReyes
 
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 9 meses
Puntos: 1
De acuerdo 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