Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2006, 14:39
slcarra
 
Fecha de Ingreso: febrero-2006
Mensajes: 8
Antigüedad: 18 años, 2 meses
Puntos: 0
ComboBox en datagrid (como obtener valor?)

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)).ToShortDateSt ring.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(colum n.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@