Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/06/2010, 20:14
chuchufuentes
 
Fecha de Ingreso: mayo-2008
Mensajes: 353
Antigüedad: 16 años
Puntos: 3
Respuesta: DropDownList Infernal

NO se si esto te sirve

controlx = "ddlpais"
GridView1.EditIndex = e.NewEditIndex
FillCustomerInGrid()
BindGridDropDownList(e.NewEditIndex, pai, controlx)

controlx = "ddlregion"
GridView1.EditIndex = e.NewEditIndex
BindGridDropDownList(e.NewEditIndex, reg, controlx)

controlx = "ddlclte"
GridView1.EditIndex = e.NewEditIndex
BindGridDropDownList(e.NewEditIndex, cli, controlx)
End Sub

Protected Sub BindGridDropDownList(ByVal iEditIndex As Integer, ByVal lblpai As Label, ByVal contro As String)
If contro = "ddlpais" Then
Dim cmbType As DropDownList = DirectCast(GridView1.Rows(iEditIndex).FindControl( contro), DropDownList)
cmbType.DataSource = customer.Fetchpais()
cmbType.DataBind()
cmbType.Items.FindByValue(lblpai.Text).Selected = True
ppai = lblpai.Text
Else
If contro = "ddlregion" Then
Dim cmbType1 As DropDownList = DirectCast(GridView1.Rows(iEditIndex).FindControl( contro), DropDownList)
cmbType1.DataSource = customer.Fetchregion(ppai)
cmbType1.DataBind()
cmbType1.Items.FindByValue(lblpai.Text).Selected = True
regg = lblpai.Text
Else
Dim cmbType2 As DropDownList = DirectCast(GridView1.Rows(iEditIndex).FindControl( contro), DropDownList)
cmbType2.DataSource = customer.Fetchclte(ppai, regg)
cmbType2.DataBind()
cmbType2.Items.FindByValue(lblpai.Text).Selected = True
End If
End If

End Sub


Public Function Fetchpais() As DataTable
Dim sql As String = "SELECT descripcion,codpais FROM pais"
Dim da As New OleDbDataAdapter(sql, cnstr)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
Public Function Fetchregion(ByVal varpais As String) As DataTable
Dim sql As String = "SELECT * FROM region where pais = '" & varpais & "'"
Dim da As New OleDbDataAdapter(sql, cnstr)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function
Public Function Fetchclte(ByVal varpais As String, ByVal varregion As String) As DataTable
Dim sql As String = "SELECT * FROM CLIENTE where codpais = '" & varpais & "' AND codregion = '" & varregion & "'"
Dim da As New OleDbDataAdapter(sql, cnstr)
Dim dt As New DataTable()
da.Fill(dt)
Return dt
End Function