Mi duda es la siguiente...
Tengo tres tablitas...
ExamenTi
Codigo
Nombre
ExamenMv
Codigo
Nombre
CodigoEx
Unidad
Unidad
Codigo
Nombre
En un formulario coloco los controles para consultar la tabla ExamenTi (Codigo, Nombre); dentro de un DataGridView monto todos los items que pertenecen a es examen ... Es decir cargo la tabla ExamenMv... Pero esta tabla tiene una peculiaridad... que tiene un campo llamado "Unidad" que expresa la medida en que es reportado un examen puede ser ( gr/dL , mm3 , U/L ) y como esto es igual para todos cree una tablita donde almaceno esa informacion... Y en la tabla ExamenMv heredo el codigo de las unidades...
La cosa es que logre meter dentro de una columna grid el combobox en tiempo de ejecución... por medio de este procedimiento:
Código vb:
Ver original
Sub Formato_Grid() Dim my_strsql As String Dim c_objds As New DataSet Dim objds As New DataSet() Dim CboUnidad As New DataGridViewComboBoxColumn() CboUnidad.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox CboUnidad.FlatStyle = FlatStyle.Flat CboUnidad.Resizable = DataGridViewTriState.False ' Al iniciar el formulario abrimos la conexion y pasamos la consulta al primer combobox 'my_strsql = "select unidad.codigo,unidad.nombre from examenmv inner join unidad on examenmv.unidad=unidad.codigo where codigoEx='" & Me.TxtCodigo.Text & "'" my_strsql = "select codigo,nombre from unidad" Dim objda As New MySqlDataAdapter(my_strsql, myConexion) 'Finalmente removemos la columna actual de los items de examenes y la reemplazamos por la nueva GridMV.Columns.RemoveAt(0) 'GridMV.Columns.Insert(0, CboUnidad) 'De la misma forma pasamos la consulta al dataset objda.Fill(c_objds, "nombre") 'Este es una columna de ComboBoxes CboUnidad.Name = "Unidad" GridMV.Columns.Add(CboUnidad) '************************************************************' 'Ahora esta consulta la pasamos a un DataGridViewComboBoxColumn CboUnidad.DataSource = c_objds.Tables(0).DefaultView CboUnidad.DisplayMember = "nombre" CboUnidad.ValueMember = "codigo" End Sub
y hasta aca chevere... en la columna del combobox me cargan todas las unidades ... Pero la cuestion es que me gustaria que por examen se cargue como predeterminado el valor asignado para el items del examen ...
Por ejemplo:
Codigo Nombre
ExamenTi : LAB57 Hematologia Completa
Codigo Nombre CodigoEx Unidad
ExamenMv : 01 Hematocrito LAB57 01
02 Leucocito LAB57 01
03 CHCM LAB57 02
Unidad: Codigo Nombre
01 gr/dL
02 mm3
De manera que en el DataGrid en la columna unidad me apareceza gr/dL ...
que es el nombre de la unidad de ese items.... Yo cuando lleno la columna hago un select donde me consulte solo la tabla unidad... sin enlazarla con la tabla de ExamenMv... Esto para que el usuario final tenga la posibilidad de modificarlo en el casi que sea necesario...
=D
Espero hayan entendido mi duda.... Y puedan asesorarme...
Éxitos y Saludos