¿Cómo meto datos en un datagrid de uno por uno?

Este es mi código y quiero que me ayudes en la ultima parte
tengo
1 datagrid
2textbox
2 botones
Lo que quiero es que al dar clic en un botón se agregue el nombre de un alumno y de su calificación
hasta ahora solo se agregan 5 de golpe
y quiero que se agreguen de uno por uno en el data grid
otra cosa que cuando ya sean agregados los 5 nombres y 5 calyficaciones salga un msbox que diga que solo puede añadir 5
ok este es mi código:
Option Explicit On
Option Strict On
Public Class Form1
Private Sub Form1_Load( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'Db1DataSet.calificacion' Puede moverla o quitarla según sea necesario.
Me.ProductosTableAdapter.Fill(Me.Db1DataSet.productos)
Me.Text = "Sumar columnas en DataGridview"
Button1.Text = "Promedio"
Button2.Text = "Cargar valores"
End Sub
' función que retorna el total
Private Function Sumar( _
ByVal calificacion_Columna As String, _
ByVal Dgv As DataGridView) As Double
Dim total As Double = 0
' recorrer las filas y obtener los items de la columna indicada en "nombre_Columna"
Try
For i As Integer = 0 To Dgv.RowCount - 1
total = total + CDbl(Dgv.Item(calificacion_Columna.ToLower, i).Value) / 5
Next
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
' retornar el valor
Return total
End Function
Private Sub Button1_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
' mostrar el total de la suma en el control Label para la columna llamada Calificacion
label1.Text = "Su promedio es :" & Format(Sumar("calificacion", DataGridView1), ).ToString
End Sub
Private Sub Button2_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Randomize()
With DataGridView1
' Agregar dos columnas
.Columns.Clear()
.Columns.Add("Id", " Nombre")
.Columns.Add("Calificacion", "calificacion")
' agregar 5 filas
.RowCount = 5
' añadir un valor para el campo ID
For Filas As Integer = 0 To .RowCount - 1
.Item(0, Filas).Value = TextBox1.Text
Next
' añadir un valor a calificacion
For Filas As Integer = 0 To .RowCount - 1
.Item(1, Filas).Value = Format(TextBox2.Text, )
Next
End With
End Sub
End Class

1 Respuesta

Respuesta
1
Ok,
No entiendo mucho tu código pero...
Para agaregar linea a linea, creas un objeto datatable con la estructura que necesitas, (columnas ), luego pides los datos necesarios, para asociarlos al datatable, creas una objeto Datarow de esta manera:
Dim dt As datarow = datatable1.Newrow()
Esto te crea el datarow con la estructura que tienes en el datatable. Los valores los asignas de esta manera:
dt("Nombrecampor") = Valor1
dt("Campo2" = Valor2
Para agregar esa linea o registro al datatable
Datatable1. Rows. Add(dt)
Listo, luego solo tienes que asignarle estes datatable al datagrid
dataGrid.datasource = datatable1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas