Visual Basic.NET - Agregar filas respecto a un número solicitado

 
Vista:
Imágen de perfil de Jaime
Val: 73
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Agregar filas respecto a un número solicitado

Publicado por Jaime (33 intervenciones) el 02/07/2019 01:04:10
Hola comunidad,

Tengo un problema, cómo podría agregar filas a un DataGridView respecto a un número solicitado, es decir si yo coloco en un TextBox un número 7, se agregue ese número de filas en el DataGridView.

Trabajo en un proyecto y dependemos del número de carretes en mi código está señalado como C1. Aquí mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Public Class Form1
    Dim Table As New DataTable
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
        Table.Columns.Add("Departamento", Type.GetType("System.String"))
        Table.Columns.Add("Sección", Type.GetType("System.String"))
        Table.Columns.Add("Operación", Type.GetType("System.String"))
        Table.Columns.Add("Fecha Inicial", Type.GetType("System.DateTime"))
        Table.Columns.Add("Fecha Final", Type.GetType("System.DateTime"))
 
        DataGridView1.DataSource = Table
 
        DataGridView1.Columns(0).HeaderCell.Style.Font = New Font("Microsoft Sans Serif", 10, FontStyle.Bold)
        DataGridView1.Columns(1).HeaderCell.Style.Font = New Font("Microsoft Sans Serif", 10, FontStyle.Bold)
        DataGridView1.Columns(2).HeaderCell.Style.Font = New Font("Microsoft Sans Serif", 10, FontStyle.Bold)
        DataGridView1.Columns(3).HeaderCell.Style.Font = New Font("Microsoft Sans Serif", 10, FontStyle.Bold)
        DataGridView1.Columns(4).HeaderCell.Style.Font = New Font("Microsoft Sans Serif", 10, FontStyle.Bold)
 
        DataGridView1.Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(2).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(4).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
 
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        Dim fecha1 As Date = CType(TextBox1.Text, Date)
 
        Table.Rows.Add("Manufactura", "Cuerpo", "Corte de placa C1", fecha1, DateAdd(DateInterval.Day, 1, fecha1))
        Table.Rows.Add("Manufactura", "Cuerpo", "Rolado de placa C1", DateAdd(DateInterval.Day, 1, fecha1), DateAdd(DateInterval.Day, 2, fecha1))
        Table.Rows.Add("Manufactura", "Cuerpo", "Soldadura longituidal C1", DateAdd(DateInterval.Day, 2, fecha1), DateAdd(DateInterval.Day, 3, fecha1))
        Table.Rows.Add("Manufactura", "Cuerpo", "Rerolado C1", DateAdd(DateInterval.Day, 3, fecha1), DateAdd(DateInterval.Day, 4, fecha1))
 
        DataGridView1.Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(1).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(2).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        DataGridView1.Columns(4).AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
 
    End Sub
 
End Class

Además me gustaría que cambiara el nombre de C1 y se agregara C2,C3,C4,C5,C6 hasta llegar al C7. las actividades siempre son las mismas, espero me puedan apoyar, les estaría muy agradecido.

Saludos y que tenga un buen día.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Agregar filas respecto a un número solicitado

Publicado por Phil Rob (1554 intervenciones) el 02/07/2019 17:25:27
Hola,

¿Es tu buscada parece a este ?

1
2
3
4
5
6
7
8
9
10
Dim CuantidadLineas As Integer     ‘ A leer en el TextBox, por ejemplo
 
For R As Integer =0 To CuantidadLineas -1  ' Las lineas son C1, C2, C3,  ....
 
       Table.Rows.Add("Manufactura", "Cuerpo", "Corte de placa C" & Trim( R + 1), fecha1,
        Table.Rows.Add("Manufactura", "Cuerpo", "Rolado de placa C" & Trim( R + 1),
        Table.Rows.Add("Manufactura", "Cuerpo", "Soldadura longituidal C" & Trim( R + 1),
        Table.Rows.Add("Manufactura", "Cuerpo", "Rerolado C" & Trim( R + 1),
 
Next R

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jaime
Val: 41
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Agregar filas respecto a un número solicitado

Publicado por jaime (19 intervenciones) el 02/07/2019 19:39:25
Justo estaba por comentar la respuesta al problema,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim fecha1 As Date = CType(TextBox1.Text, Date)
 
Dim numRows As Integer
If Integer.TryParse(TextBox4.Text, numRows) Then
    If (numRows >= 1) Then
        For i As Integer = 1 To numRows
            Table.Rows.Add("Manufactura", "Cuerpo", "Corte de placa C" & i, fecha1, DateAdd(DateInterval.Day, 1, fecha1))
            Table.Rows.Add("Manufactura", "Cuerpo", "Rolado de placa C" & i)
            Table.Rows.Add("Manufactura", "Cuerpo", "Soldadura longituidal C" & i)
            Table.Rows.Add("Manufactura", "Cuerpo", "Rerolado C" & i)
        Next
    Else
        MessageBox.Show("Value: " & TextBox4.Text, "El numero de filas debe ser mayor o igual a 1")
    End If
Else
    MessageBox.Show("Value: " & TextBox4.Text, "Número invalido")
End If

Es una opción también de resolverlo.

Sabes cómo dar la secuencia a las fechas? sé que se puede usar el DateAdd(DateInterval.Day, 1, fecha1)) pero no me funciona ya que al momento de crear nuevas actividades vuelven a comenzar con la fecha1 es decir lo que quiero es así.

C1 02/07/19 02/07/19
C2 02/07/19 03/07/19
C3 03/07/19 04/07/19

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar