Visual Basic - DataGridViewComboBoxColumn dentro de un TabControl1

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por karen (4 intervenciones) el 26/05/2016 20:44:39
Hola a ver si alguien tiene la respuesta:

Contexto: tengo un TabControl que contiene varias pestañas y en cada una de ellas existe un datagridview con una celda que es de tipo DataGridViewComboBoxColumn.

funcionamiento: en el evento Form1_Load se llenan todos los datagridview desde una base de datos, y se setean los DataGridViewComboBoxColumn.


Problema: para la primera pestaña del TabControl , la celda DataGridViewComboBoxColumn se setea correctamente, pero para las demas pestañas no muestra el valor seteado en los DataGridViewComboBoxColumn , por alguna razon que desconozco, el mismo codigo funciona para la primera pestaña del TabControl , pero en las otras pestañas no se setea el DataGridViewComboBoxColumn
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 Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por Andres Leonardo (1798 intervenciones) el 26/05/2016 23:04:35
Puedes poner la linea donde seteas

puede ser que no estes poniendo el indice de los demas tabs....

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

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por karen (4 intervenciones) el 27/05/2016 15:48:23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        'extrae datos desde bd
        grillamovilizacion.DataSource = lista_grilla("EXEC Proc_Presupuestos_Traslados 'L','" & cmpycode & "' ")
 
        If grillamovilizacion.RowCount > 0 Then
            'crea objeto 
            Dim cmb As New DataGridViewComboBoxColumn()
            cmb.HeaderText = "CONCEPTO"
            cmb.Name = "CONCEPTO"
            'agrega items
            addItemsCuenta(cmb, 8)
            grillamovilizacion.Columns.Insert(1, cmb)
 
            '
            For Each row As DataGridViewRow In grillamovilizacion.Rows
               'setea dato seleccionado desde el valor en bd
                row.Cells("CONCEPTO").Value = row.Cells("CONCEP").Value
            Next
            grillamovilizacion.Columns.Remove("CONCEP")
 
        End If
 
end sub



para todas las grillas se realiza el mismo codigo
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
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por Andres Leonardo (1798 intervenciones) el 28/05/2016 00:51:08
iNTENTA ESTO

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
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
           CARGA(nOMBREDELGRIDQUENECESITAS DEPENDIENDO DEL TAB)
 
END SUB
 
SUB CARGA (grillamovilizacion AS DATAGRID O EL QUE USES
  )
      'extrae datos desde bd
        grillamovilizacion.DataSource = lista_grilla("EXEC Proc_Presupuestos_Traslados 'L','" & cmpycode & "' ")
 
        If grillamovilizacion.RowCount > 0 Then
            'crea objeto 
            Dim cmb As New DataGridViewComboBoxColumn()
            cmb.HeaderText = "CONCEPTO"
            cmb.Name = "CONCEPTO"
            'agrega items
            addItemsCuenta(cmb, 8)
            grillamovilizacion.Columns.Insert(1, cmb)
 
            '
            For Each row As DataGridViewRow In grillamovilizacion.Rows
               'setea dato seleccionado desde el valor en bd
                row.Cells("CONCEPTO").Value = row.Cells("CONCEP").Value
            Next
            grillamovilizacion.Columns.Remove("CONCEP")
 
        End If
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

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por karen (4 intervenciones) el 30/05/2016 16:48:30
realice las modificaciones y el problema continua.

Al abrir el formulario, para el tabpage activo se setean bien los DataGridViewComboBoxColumn, pero en los demás tabpage no se setea el valor.....

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
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.DataGridView1.DataSource = ""
        Me.DataGridView1.Refresh()
        DataGridView1.Columns.Clear()
 
        DataGridView1.DataSource = carga(DataGridView1)
End Sub
 
Function carga(ByVal grilla As DataGridView)
        'extrae datos desde bd
        grilla.DataSource = lista_grilla("EXEC Proc_Presupuestos_Inversiones 'L','" & cmpycode & "'")
 
        Dim cmb As New DataGridViewComboBoxColumn()
        cmb.HeaderText = "CONCEPTO"
        cmb.Name = "CONCEPTO"
        'agrega items       
        queryB = "exec Proc_Presupuestos_Coa 5,'" & cmpycode & "','',''"
        CC = New SqlConnection
        CC.ConnectionString = My.Settings.Conexion
        Dim dt As New SqlDataAdapter(queryB, CC)
        Dim dts As New DataSet
 
        CC.Open()
        dt.Fill(dts)
        CC.Close()
 
        cmb.DataSource = dts.Tables(0)
        cmb.DisplayMember = "DESC_TEXT"
        cmb.DataPropertyName = "DESC_TEXT"
        cmb.ValueMember = "DESC_TEXT"
        grilla.Columns.Insert(1, cmb)
 
        For Each row As DataGridViewRow In grilla.Rows
            'setea dato seleccionado desde el valor en bd
            row.Cells("CONCEPTO").Value = row.Cells("CONCEP").Value
        Next
 
        Return grilla.DataSource
End Function
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

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por karen (4 intervenciones) el 30/05/2016 17:27:43
finalmente lo solucione agregando TabControl1.SelectedTab


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
 
'Selecciono el tab donde tengo DGV
        Me.TabControl1.SelectedTab = TabPage1
 
 
        Me.DataGridView1.DataSource = ""
        Me.DataGridView1.Refresh()
        DataGridView1.Columns.Clear()
        'asigno los datos
        DataGridView1.DataSource = carga(DataGridView1)
 
 
'me regreso al primer tab
        Me.TabControl1.SelectedTab = TabPage2
 
 
End Sub
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