Dim i As Integer
If DataTable1DataGridView.Rows.Count > 0 Then
For i = 0 To DataTable1DataGridView.Rows.Count - 2
Dim nuevafila As DataRow = SuperDataSet.Tables("DetallesPedido").NewRow
nuevafila.Item("IdPedido") = DataTable1DataGridView.Rows(i).Cells(0).Value
nuevafila.Item("IdProducto") = DataTable1DataGridView.Rows(i).Cells(1).Value
nuevafila.Item("Cantidad") = DataTable1DataGridView.Rows(i).Cells(3).Value
SuperDataSet.Tables("DetallesPedido").Rows.Add(nuevafila)
Next
End If
Gestionando Errores
martes, 6 de marzo de 2012
Calcular datos dentro de celdas
Private Sub DataTable1DataGridView_CellEndEdit(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataTable1DataGridView.CellEndEdit
If e.ColumnIndex = 3 Then
DataTable1DataGridView.CurrentRow.Cells(4).Value = DataTable1DataGridView.CurrentRow.Cells(2).Value * DataTable1DataGridView.CurrentRow.Cells(3).Value
End If
End Sub
If e.ColumnIndex = 3 Then
DataTable1DataGridView.CurrentRow.Cells(4).Value = DataTable1DataGridView.CurrentRow.Cells(2).Value * DataTable1DataGridView.CurrentRow.Cells(3).Value
End If
End Sub
Encontrar e insertar un dato en un datagridview después de dejar una celda
Private Sub DataTable1DataGridView_CellLeave(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataTable1DataGridView.CellLeave
If e.ColumnIndex = 1 Then
Dim fila As Integer = ProductosBindingSource.Find("NombreProducto", DataTable1DataGridView.CurrentCell.EditedFormattedValue)
ProductosBindingSource.Position = fila
DataTable1DataGridView.CurrentRow.Cells(2).Value = SuperDataSet.Tables("Productos").Rows(fila).Item("Precio")
End If
End Sub
Primero se le asigna a fila la posición de esa fila en la tabla de donde queremos coger el dato
Luego asignamos a la celda (en este caso la 2 es precio) el valor de la tabla productos de la fila (fila que es el indice que hemos cogido antes) y de la fila la propiedad llamada precio, con lo cual cogerá el precio del nombre de producto que hemos seleccionado en la tabla origen
If e.ColumnIndex = 1 Then
Dim fila As Integer = ProductosBindingSource.Find("NombreProducto", DataTable1DataGridView.CurrentCell.EditedFormattedValue)
ProductosBindingSource.Position = fila
DataTable1DataGridView.CurrentRow.Cells(2).Value = SuperDataSet.Tables("Productos").Rows(fila).Item("Precio")
End If
End Sub
Primero se le asigna a fila la posición de esa fila en la tabla de donde queremos coger el dato
Luego asignamos a la celda (en este caso la 2 es precio) el valor de la tabla productos de la fila (fila que es el indice que hemos cogido antes) y de la fila la propiedad llamada precio, con lo cual cogerá el precio del nombre de producto que hemos seleccionado en la tabla origen
Filtro entre fechas y ordenado por un campo
DataView1.Table = SuperDataSet.Tables("Pedidos")
DataView1.RowFilter = "FechaPedido >='" & CDate(TextBox1.Text) & "' and Fechapedido <='" & CDate(TextBox2.Text) & "'"
DataView1.Sort = "IdEmpleado"
PedidosDataGridView.DataSource = DataView1
hay que convertir los .text en fecha
DataView1.RowFilter = "FechaPedido >='" & CDate(TextBox1.Text) & "' and Fechapedido <='" & CDate(TextBox2.Text) & "'"
DataView1.Sort = "IdEmpleado"
PedidosDataGridView.DataSource = DataView1
hay que convertir los .text en fecha
Filtrar datos con el dataview
DataView1.Table = SuperDataSet.Tables("Compras")
DataView1.RowFilter = "Recibido=False"
ComprasDataGridView.DataSource = DataView1
Acuerdate de agregar el componente dataview al cuadro de herramientas de datos
DataView1.RowFilter = "Recibido=False"
ComprasDataGridView.DataSource = DataView1
Acuerdate de agregar el componente dataview al cuadro de herramientas de datos
Mostrar otro campo en un combobox con una tabla relacionada
En las propiedades en databindings
SelectedValue será el campo original de la tabla presente
Text será el campo que queramos relacionar (si tenemos un id, y preferimos que se vea el campo nombre)
DataSource la otra tabla, la original del dato que queremos mostrar (la que no está presente en el formulario)
Displaymember, elegimos el campo que queremos mostrar (aquí es mas fácil porqué nos mostrara solo los campos de la tabla datasource escogida)
Valuemember, el campo clave, el que tiene que ir relacionado con el selectedvalue de la otra tabla (también es "fácil" porque nos mostrará solo los campos de la tabla datasource)
SelectedValue será el campo original de la tabla presente
Text será el campo que queramos relacionar (si tenemos un id, y preferimos que se vea el campo nombre)
DataSource la otra tabla, la original del dato que queremos mostrar (la que no está presente en el formulario)
Displaymember, elegimos el campo que queremos mostrar (aquí es mas fácil porqué nos mostrara solo los campos de la tabla datasource escogida)
Valuemember, el campo clave, el que tiene que ir relacionado con el selectedvalue de la otra tabla (también es "fácil" porque nos mostrará solo los campos de la tabla datasource)
Hacer una búsqueda de un registro
Dim posicion As Integer
posicion = ClientesBindingSource.Find(ToolStripComboBox1.SelectedItem.ToString, ToolStripTextBox1.Text)
If posicion <> -1 Then
ClientesBindingSource.Position = posicion
Else
MessageBox.Show("Ese cliente no existe")
End If
posicion = ClientesBindingSource.Find(ToolStripComboBox1.SelectedItem.ToString, ToolStripTextBox1.Text)
If posicion <> -1 Then
ClientesBindingSource.Position = posicion
Else
MessageBox.Show("Ese cliente no existe")
End If
Suscribirse a:
Entradas (Atom)