Listar días no laborables(domingos) en Datagridview
Un saludo y un post más para los seguidores de mis publicaciones. En esta vez me toco desarrollar un algoritmo que necesitaba personalmente y como su nombre lo dice tenia que listar, no solo la cantidad de dias no laborables de una fecha próxima , sino también buscar la manera que me mostrara la fecha en la que acertaba el día.
Siendo así el algoritmo que les presento, busca los días domingos partiendo de la fecha actual hasta una fecha posterior. Esto nos ocurre cuando queremos saber que fecha cae tal domingo y evitarnos recurrir al calendario y hacerlo manualmente. Les expongo el código:
Public Class Form1
Dim n_dias As Integer
Dim captura_fecha(500) As String
Public Function DiasNo_Laborables(ByVal fechaProxima As Date)
Try
Dim dias_no_laborables As Integer = 0
Dim FechaActual As Date = Now.Date
While FechaActual <= fechaProxima
If FechaActual.DayOfWeek = DayOfWeek.Sunday Then
dias_no_laborables = dias_no_laborables + 1
captura_fecha(dias_no_laborables) = FechaActual
End If
FechaActual = FechaActual.AddDays(1)
End While
Return dias_no_laborables
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function
Sub llenargrid(ByVal dias As Integer)
Try
DataGridView1.Rows.Add(dias)
For i As Integer = 0 To n_dias - 1
DataGridView1.Item(0, i).Value = i + 1
DataGridView1.Item(1, i).Value = captura_fecha(i + 1)
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
n_dias = DiasNo_Laborables(DateTimePicker1.Value)
borrartabla()
llenargrid(n_dias)
End Sub
Sub borrartabla()
Try
DataGridView1.Rows.Clear()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
Por ejemplo si la fecha actual = 02/05/2015 y queremos saber cuantos domingos y la fecha que cae hasta el rango de 05/09/2015, La cantidad de domingos es = 18 y las fechas vean en la captura:
NOTA: Hago uso de un Control DateTimePicker , un Boton y Datagridview
y es todo hagan uds mismos y me comentan:
Para los que quieren mi ejemplo:
Comentarios
Publicar un comentario