Ver Mensaje Individual
  #8 (permalink)  
Antiguo 18/02/2013, 20:22
Avatar de emmax
emmax
 
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 8 meses
Puntos: 8
Respuesta: Como hacer que en un datagriw aparezca un campo en combobox y a su vez est

Ahi te va te lo explico mas detalladamente.

Evento "CellValueChanged" de DataGridView, suponiendo que se llame DataGridView1

Código VB.NET:
Ver original
  1. Private Sub dataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
  2. 'Vaz a Validar que la celda que modificas el valor o indice sea la de tu combobox
  3. 'Si la columna es la de nombre "Tu Columna"
  4. If DataGridView1.Columns(e.ColumnIndex).Name = "Tu Columna" Then
  5. 'Entonces tomas el valor de la celda y haces un "SELECT" a tu BD para traer los demas datos del Articulo o Producto
  6. 'Asignas a una variable tu resultado
  7. Dim combo As DataGridViewComboBoxCell = TryCast(DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex), DataGridViewComboBoxCell)
  8. 'La variable combo tiene el resultado o valor de la celda, que en este caso seria la de tu combobox
  9. 'Puedes convertir el valor a Integer o tipo que creas necesario.
  10. 'Ejemplo lo convertiremos a Integer.
  11. Dim valorinteger As Integer = Convert.ToInt32(combo.Value)
  12. 'Ahora haces la consulta a tu BD para jalar la informacion del articulo Seleccionado
  13. Dim sqlstring AS String = "SELECT * FROM TuTabla WHERE id_art(este es tu campo en la tabla)= @id"
  14. Dim cmd As New SqlCommand(sqlstring, TuConexion)
  15. cmd.Parameters.AddWithValue("@id", valorinteger)
  16. Dim reader as SqlDataReader = cmd.ExecuteReader()
  17. 'Checas si el Reader lleva Valores y los agregas al gridView
  18. If reader.Read() Then
  19.     DataGridView.rows.add(Reader("Descripcion"), Reader("Precio"))
  20. End If
  21. end if
  22. End Sub

Espero te quede un poco mas claro, este fragmento de codigo lo hice sin probarlo y a memoria por lo que puede traer algun error o me falto algun dato, pero la idea en general ahi esta plasmada, espero te sirva y puedas entender mas o menos lo que te quise decir desde la primera respuesta que te di...

Saludos....