Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 17-feb-2005, 09:28   #1 (permalink)
rfgb1976 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2005
Mensajes: 96
Ayuda DropDownList con Datalist

Hola amigos del foro, tengo un problema espero que me puedan ayudar, les cuento, tengo un dropdownlist en donde cargo los nombre de Usuarios desde una base de datos (hasta ahi no hay problem), lo que quiero es que cuando se seleccione un nombre del Dropdownlist, me aparezca el cargo que ocupa... en un datalist....dicho cargo se encuentra almacenado dentro de la misma tabla.. aqui les va el codigo para que vean si encuentran un error

Function Cargo(ByVal usuarioNombre As String) As System.Data.DataSet
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Memo'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionStri ng)

Dim queryString As String = "SELECT [Usuarios].[UsuarioCargo] FROM [Usuarios] WHERE ([Usuarios].[UsuarioNombre"& _
"] = @UsuarioNombre)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dbParam_usuarioNombre As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter
dbParam_usuarioNombre.ParameterName = "@UsuarioNombre"
dbParam_usuarioNombre.Value = usuarioNombre
dbParam_usuarioNombre.DbType = System.Data.DbType.String
dbCommand.Parameters.Add(dbParam_usuarioNombre)

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)

Return dataSet
End Function

Function Nombre() As System.Data.DataSet
Dim connectionString As String = "server='(local)'; trusted_connection=true; database='Memo'"
Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionStri ng)

Dim queryString As String = "SELECT [Usuarios].[UsuarioNombre] FROM [Usuarios]"
Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)

Return dataSet
End Function


Sub Page_Load(Sender As Object, E As EventArgs)
If Not (Page.IsPostBack)
dropdownlist1.DataSource = Nombre()
dropdownlist1.DataTextField = "UsuarioNombre"
dropdownlist1.DataBind()

End If

End Sub

Sub DataList1_SelectedIndexChanged(sender As Object, e As EventArgs)
DataList1.DataSource = Cargo(DropDownList1.Items(DropDownList1.SelectedIn dex).Text)
DataList1.DataBind()
End Sub

ahhhh y esto me aparece cuando selecciono codigo HTML

<body>
<form runat="server">
<asp:DropDownList id="DropDownList1" style="Z-INDEX: 100; LEFT: 153px; POSITION: absolute; TOP: 44px" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedInde xChanged" AutoPostBack="True" Width="353px"></asp:DropDownList>
<asp:DataList id="DataList1" style="Z-INDEX: 100; LEFT: 152px; POSITION: absolute; TOP: 64px" runat="server" OnSelectedIndexChanged="DataList1_SelectedIndexCha nged" Width="353px" Height="60px">
<ItemTemplate>
<asp:Label id="Label1" runat="server" text='<%# DataBinder.Eval(Container.DataItem,"UsuarioCargo") %>' font-size="XX-Small" font-names="Verdana" width="384px"></asp:Label>
</ItemTemplate>
</asp:DataList>
<!-- Insert content here -->
</form>
</body>


Espero me puedan ayudar... Saludos
Roberto
rfgb1976 está desconectado   Responder Citando
Antiguo 17-feb-2005, 09:40   #2 (permalink)
neivan está en el buen camino
 
Avatar de neivan
 
Fecha de Ingreso: febrero-2005
Mensajes: 535
No me he leido todo el codigo detenidamente pero si q he visto algo q me parece interesante comentarte

Cuando enlazas el dropdownlist con tabla :

dropdownlist1.DataSource = Nombre()
dropdownlist1.DataTextField = "UsuarioNombre"
dropdownlist1.DataBind()


yo añadirira una linea mas

dropdownlist1.DataSource = Nombre()
dropdownlist1.DataTextField = "UsuarioNombre"
dropdownlist1.DataValueField = "Codigo"
dropdownlist1.DataBind()

Si tienes en la tabla un codigo identificativo te sera muy facil devolver la ocupacion cuyo codigo es x en vez de pedir q te devuelva la ocupacion de tal nombre q puede estar repetido en la tabla

Entonces yo cogeria en la consulta ala tabla he importaria los tres campos

Codigo,nombreUsuario y oficio

enlazaria el drop con el nombre y el codigo
y cdo cambie de el drop de posicion q el datalist muestre el campo oficio
esto yo por ejemplo lko haria con un dataview q filtre esa consulta por codigo q esta seleccionado en e ldrop

cuando selecionas el drop tienes dos valores para coger:
dropdownlist1.selecteditem.text
dropdownlist1.selecteditem.value

el text sera el nombre y el value el codigo

Esta es una posible forma,no la unica.espero q te sirva
neivan está desconectado   Responder Citando
Antiguo 18-feb-2005, 10:26   #3 (permalink)
rfgb1976 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2005
Mensajes: 96
Gracias

Excelente, problema solucionado, muchas gracias neivan
rfgb1976 está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 18:48.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93