Visual Basic - DataGridViewComboBoxColumn dentro de un TabControl1

Life is soft - evento anual de software empresarial
   
Vista:

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por karen KAREN.OLAVE@TITULADOS.USM.CL (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

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por Andres Leonardo (702 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

DataGridViewComboBoxColumn dentro de un TabControl1

Publicado por Andres Leonardo (702 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