• Domingo 22 de Diciembre de 2024, 20:12

Autor Tema:  Combobox En Un Datagrid (como Obetener Su Valor?)  (Leído 991 veces)

slcarra

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Combobox En Un Datagrid (como Obetener Su Valor?)
« en: Viernes 10 de Marzo de 2006, 21:44 »
0
Tengo dentro de un datagrid un combobox. Este datagrid lo paso a un dataset para ser usado por un crystal reports.
Mi problema es que todos los campos pasan bien, los de texto, checkbox, etc.
Pero los campos que tienen combobox no puedo hacerlos funcionar.
Lo que me toma es el indice del combobox y este fue cargado desde una tabla de sql y no se como puedo recuperarlo, les paso el código a ver si alguien me da una manito.

ds = New DSReports
        Dim tbStyle As DataGridTableStyle
        tbStyle = Grid.TableStyles(0)

        Dim dataMember As String
        dataMember = Grid.DataMember

        Dim dataSource As DataSet
        dataSource = Grid.DataSource

        Dim column As DataGridColumnStyle
        Dim nI As Integer

        Dim drow As DataRow
        For Each drow In dataSource.Tables(dataMember).Rows

            Dim drowNew As DataRow
            drowNew = ds.Tables("Datos").NewRow

            nI = 1
            For Each column In tbStyle.GridColumnStyles

                Select Case column.GetType.Name.ToString

                    Case "DataGridTextBoxColumn"
                        drowNew.Item("Campo" + nI.ToString) = drow.Item(column.MappingName)
                        nI += 1
                    Case "DataGridTimePickerColumn"
                        drowNew.Item("Campo" + nI.ToString) = CDate(drow.Item(column.MappingName)).ToShortDateString.ToString
                        nI += 1
                    Case "MyDataGridBoolColumn"
                        If (Convert.ToString(drow.Item(column.MappingName)) = True) Then
                            drowNew.Item("Campo" + nI.ToString) = "X"
                            nI += 1
                        Else
                            drowNew.Item("Campo" + nI.ToString) = " "
                            nI += 1
                        End If

' en este case tengo el problema el codigo
' que esta adentro son pruebas ya que no se que hacer

                    Case "DataGridComboBoxColumn"


' el drow.Item(column.MappingName) me devuelve el indice del combo box
                        Dim codCombo = drow.Item(column.MappingName)

                        Dim cbxdgr As UsersControls.DataGridComboBoxColumn = column


                        Dim arrDrow() As DataRow = dataSource.Tables("ConsultaTiposIva").Select(column.MappingName + "='" + codCombo + "'")

                        If (arrDrow.Length > 0) Then
                            drowNew.Item("Campo" + nI.ToString) = arrDrow(0).Item("IvaDescrip")
                            nI += 1
                        End If
                       
                    Case "DataGridButtonColumn"
                        drowNew.Item("Campo" + nI.ToString) = " "                        

                End Select

            Next


Saludos Seb@