Agregar Color a Filas en DataGridView VB.Net

Hola amigo, hoy les mostrare como colorear el fondo de una fila o row de un datagridview dependiendo de la condicion que le asignemos, esto se hace con l Ayuda de Recorrer Columnas de DataGridView, en el boton de «Colorear Filas» ingresamos el sigiente Codigo:

For Each row As DataGridViewRow In Me.DataGridView1.Rows

If row.Cells(«Status»).Value = «1» Then
row.DefaultCellStyle.BackColor = Color.ForestGreen
ElseIf row.Cells(«Status»).Value = «2» Then
row.DefaultCellStyle.BackColor = Color.BlueViolet
ElseIf row.Cells(«Status»).Value = «3» Then
row.DefaultCellStyle.BackColor = Color.OrangeRed
ElseIf row.Cells(«Status»).Value = «4» Then
row.DefaultCellStyle.BackColor = Color.Red
ElseIf row.Cells(«Status»).Value = «5» Then
row.DefaultCellStyle.BackColor = Color.Yellow
End If

Next

como vemos recorrera toda la columna de titulo Status y dependieno de el valor retornado pintara un color u otro la fila.

asi de simple, cuando necesite este codigo me quebre mucho la cabeza en blogs y nada y nunca pense que fuera tan sumple, bueno es todo, saludos.

el ejemplo lo puedes descargar desde Aqui, es un proyecto en VB.Net 2013.

Eliminar Ultima fila de un DataGridView VB.Net

Hola amigos, hoy les muestro como eliminar la ultima fila de un datagridview, no les ha pasado que trabajan con u datagridview y por algun motivo les muestra  una fila vacia al final y lo cual podria mostrar un error, mas en esecifico si rrecorren la columna para tomar los valores y hacer una operacion, bueno pues con este codigo se elimina la ultima fila y no a lo loco, solo se elimina si esta vacia claro.

bueno este es el codigo:

For X = 0 To Me.DataGridView.Rows.Count – 1
If Me.DataGridView.Rows(X).Cells(1).Value = Nothing Then
Me.DataGridView.Rows.Remove(Me.DataGridView.Rows(X))
End If
Next

como pueden ver comenzamos el ciclo desde 0 hasta total de columnas -1, luego si el valor de la posicon de la fila(x) es Nothing entonces se elimina la fila x que es la que nos interesa y que es xsegun nuestro ciclo.

saludos.

Recorrer Columna de DataGridView VB.Net

Hola amigos, hoy les mostrare como recorrer una columna de DataGridView e ir tomando el valor de cada una en una variable, para esto Utilizaremos For Each.

primero debemos tener lleno el datagrid con una consulta o algun dato al que queremos tomar los valores, esto es util porque se puede condicionar codigo para cada resultado de el ciclo.

una ves lleno el Grid escribimos el siguiente codigo en el boton donde queremos inicial el proceso

‘declaraos las variables que queremos que contengan los valores de la columna
Dim Codigo As String
For Each row As DataGridViewRow In Me.DataGridView1.Rows
‘obtenemos el valor de la columna en la variable declarada
Codigo = row.Cells(0).Value ‘donde (0) es la columna a recorrer
MsgBox(Codigo) ‘se mostrara un mensaje con el valor de cada una de las columnas

Next

observemos Codigo = row.Cells(0).Value, donde (0) es el numero de la columna a recorrer, si quieren tambien pueden poner: («NombreColumna») y funcionara igual, despues bemos MsgBox(Codigo), esto es solo para visualizar los resultados pero todo el codigo entre el For Each y Next se uede reemplazar y condicionar segun nos interese.

el codigo lo pueden descargar desde Aqui, es un proyecto en VB.Net 2013.

Exportar DataGridView a Excell VB.Net

Hola Amigos, Hoy Les Mostrare como Exportar el Contenido de un Datagrdview a un archivo de excel, primero se deben agregar las siguientes librerias:

Imports System.Drawing.Printing
Imports System.Drawing.FontFamily
Imports Microsoft.Office.Interop.Excel

les matrcara un error en Imports Microsoft.Office.Interop.Excel, esto es porque no hemos agregado las Referencias.

nos bamos al explorador de soluciones y damos click izquierdo sobe la solucion y Agregar > Referencias, en el cuadroque se Abrira nos dirigimos a Ensamblados > Extenciones y Buscmos Microsoft.Office.Interop.Excel seleccionamos la cajita check de lado izquierdo y luego en aceptar, como pueden ver ya desaparecio el error.

ahora bamos a ingresar la funcion para exportar el datagrid, la pueden poner en el formulario o en mi Caso en un Modulo .Bas:

debemos declarar la variable Dim i as Integer = 0, que sera el contador de las filas para la funcion

Public Function GetMyExcell(ByVal ElGrid As DataGridView) As Boolean
‘Creamos las variables
Dim exApp As New Application
Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet

Try
‘Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()

‘ ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = ElGrid.ColumnCount
Dim NRow As Integer = ElGrid.RowCount

‘Aqui recorremos todas las filas, y por cada fila todas las columnas y vamos escribiendo.
For i As Integer = 1 To NCol
exHoja.Cells.Item(1, i) = ElGrid.Columns(i – 1).Name.ToString
‘exHoja.Cells.Item(1, i).HorizontalAlignment = 3
Next

For Fila As Integer = 0 To NRow – 1
For Col As Integer = 0 To NCol – 1
exHoja.Cells.Item(Fila + 2, Col + 1) = ElGrid.Rows(Fila).Cells(Col).Value
Next
Next
‘Titulo en negrita, Alineado al centro y que el tamaño de la columna se ajuste al texto
exHoja.Rows.Item(1).Font.Bold = 1
exHoja.Rows.Item(1).HorizontalAlignment = 3
exHoja.Columns.AutoFit()

‘Aplicación visible
exApp.Application.Visible = True

exHoja = Nothing
exLibro = Nothing
exApp = Nothing

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, «Error al exportar a Excel»)
Return False
End Try
Return True
End Function

la funcion debe ser llamada asi: GetMyExcell(DataGridView), donde DataGridView es el datagrid con los datos a exportar, al terminar la funcion se abrirar el archivo exportado, se pueden agregar mas acciones a la funcion como SaveAs para guardar el archivo en una ubicacion especifica y asignarle un nombre pero eso es otra cosa.

el ejemplo lo pueden descargar desde Aqui, es un proyecto en VB.Net 2013.

Exportar DataGridView a Archivo CSV VB.Net

Hola Amigos, Hoy les Mostrare como Exportar el Contenido de un DataGridView a un Arhivo .CSV, estos archivos se pueden editar desde un editor de texto plano como wordpad a excel.

lo primero es importar las siguientes librerias:

Imports System
Imports System.IO

luego se crea la funcion que se encargara de exportar el contenido del datagrdview, esta funcion la pueden poner dentro de su formulario o en mi caso dentro de un modulo .Bas:

Public Function GetMyCSVFile(ByVal Datagrid As DataGridView)
‘ botón para recorrer el datagridView y guardarlo en el archivo

Const DELIMITADOR As String = »                  »

‘ ruta del fichero de texto
Dim ARCHIVO_CSV As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + «\FileExported.csv»

Try
‘Nuevo objeto StreamWriter, para acceder al fichero y poder guardar las líneas
Using archivo As StreamWriter = New StreamWriter(ARCHIVO_CSV)

‘ variable para almacenar la línea actual del dataview
Dim linea As String = String.Empty

With Datagrid
‘ Recorrer las filas del dataGridView
For fila As Integer = 0 To .RowCount – 1
‘ vaciar la línea
linea = String.Empty

‘ Recorrer la cantidad de columnas que contiene el dataGridView
For col As Integer = 0 To .Columns.Count – 1
‘ Almacenar el valor de toda la fila , y cada campo separado por el delimitador
linea = linea & .Item(col, fila).Value.ToString & DELIMITADOR
Next

‘ Escribir una línea con el método WriteLine
With archivo
‘ eliminar el último caracter «;» de la cadena
linea = linea.Remove(linea.Length – 1).ToString
‘ escribir la fila
.WriteLine(linea.ToString)
End With
Next
End With
End Using

‘ Abrir con Process.Start el archivo de texto
Process.Start(ARCHIVO_CSV)
‘error
Catch ex As Exception
MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
End Try
Return True
End Function

la Llamada a la Funcion es asi: GetMyCSVFile(DataGridView), donde DataGridView es su DataGrid a Exportar, una Ves terminado el Proceso se Abrira la Aplicacion por defecto para este tipo de archivos para Ver el contenido.

espero les sirva, ami me soluciono varios problemas.

el ejemplo lo pueden descargar desde Aqui, es un ejemplo en VB.Net 2013.