Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema de conversion a String en Datalist

Estas en el tema de Problema de conversion a String en Datalist en el foro de .NET en Foros del Web. Tengo el siguiente codigo: <asp:DataList ID="dlMenu" style="Z-INDEX: 100; LEFT: 8px; POSITION: absolute; TOP: 0px" RepeatDirection="Horizontal" Runat="server" Height="15" HorizontalAlign="Left"> <ItemStyle ForeColor="#2A8D28" Width="96" VerticalAlign="Top" HorizontalAlign="Center" /> <ItemTemplate> ...
  #1 (permalink)  
Antiguo 21/09/2004, 04:19
 
Fecha de Ingreso: septiembre-2004
Mensajes: 24
Antigüedad: 19 años, 7 meses
Puntos: 0
Problema de conversion a String en Datalist

Tengo el siguiente codigo:

<asp:DataList ID="dlMenu" style="Z-INDEX: 100; LEFT: 8px; POSITION: absolute; TOP: 0px" RepeatDirection="Horizontal" Runat="server" Height="15" HorizontalAlign="Left">
<ItemStyle ForeColor="#2A8D28" Width="96" VerticalAlign="Top" HorizontalAlign="Center" />
<ItemTemplate>
<div class="menuselect">
<asp:LinkButton ID="lbMenu" Font-Bold="True" CommandName="select" Runat="server" Text='<%# Container.DataItem(idiomaActual)%>' CommandArgument='<%# Container.DataItem("Identificador")%>' />
</div>
</ItemTemplate>
.....

y

Sub dlIdiomes_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs ) Handles dlIdiomes.ItemCommand
dlIdiomes.DataBind()
idiomaActual = Convert.ToString(e.CommandArgument())dlMenu.DataBind()
End Sub


<%# Container.DataItem(idiomaActual)%>
Debe recibir una cadena String, es decir, idiomaActual que viene del archivo de codigo debe pasarse como string.
-->idiomaActual = Convert.ToString(e.CommandArgument())

Cuando compilo el error es:
ERROR:sp no es DataColumn ni DataRelation para la tabla Menu.
"sp" es un ejemplo del valor string que le quiero pasar

Tambien lo he probado convirtiendo a string con Ctype y el error es el mismo

Alguien me puede ayudar?

Gracias ;)

Marc
  #2 (permalink)  
Antiguo 21/09/2004, 08:35
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Solo una pregunta..

Si deseas recibir a través del command argument y pasarlo al Text de tu LinkButton .. no es mas fácil hacer ésto:

Cita:
<asp:LinkButton ID="lbMenu" Font-Bold="True" CommandName="select" Runat="server" Text='<%# Container.DataItem("Identificador")%>' CommandArgument='<%# Container.DataItem("Identificador")%>' />
Porque por lo que veo a fin de cuentas deseas que idioma tenga el nombre de tu CommandArgument.. o no..??

Si no es así.. si quieres explicanos un poco mas tu problema..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 21/09/2004, 16:45
 
Fecha de Ingreso: septiembre-2004
Mensajes: 24
Antigüedad: 19 años, 7 meses
Puntos: 0
Mensaje Problema de conversion a String en Datalist

No, m'explicare mejor:
Tengo 2 Datalist con controles Linkbutton generados por los datos de la bd, dlIdiomes, que determina el idioma y dlMenu que determina el menu general, al escoger el idioma se debe actualizar el texto de los linkbuttons del menu.
idiomaActual es la variable que guarda el codigo del idioma (p.ej.: castellano=sp, ingles=uk, frances=fr, etc.), y que despues indicara el nombre del campo de la bd correspondiente al idioma, es decir, los campos en la bd son (sp,uk,fr,...)
Codigo:

<asp:DataList ID="dlIdiomes" Runat="server">
<ItemTemplate>
<asp:LinkButton ID="lbIdioma" Comm= andName="select" Runat="server" Text='<%# Container.DataItem("idioma")%>' CommandArgument='<%# Container.DataItem("codi_idioma")%>' />
</ItemTemplate>
<SelectedItemTemplate>
<%# Container.DataItem("idioma")%>
</SelectedItemTemplate>
</asp:DataList>

<asp:DataList ID="dlMenu" Runat="server">
<ItemTemplate>
<asp:LinkButton ID="lbMenu" CommandName="select" Runat="server" Text='<%# Container.DataItem(idiomaActual)%>' CommandArgument='<%# Container.DataItem("Identificador")%>' />
</ItemTemplate>
<SelectedItemTemplate>
<%# Container.DataItem(idiomaActual)%>
<asp:LinkButton ID="Linkbutton1" CommandName="select" Runat="server" Text='<%# Container.DataItem(idiomaActual)%>' />
<asp:LinkButton ID="Linkbutton2" CommandName="select" Runat="server" Text='<%# Container.DataItem(idiomaActual)%>' /></div>
</SelectedItemTemplate>
</asp:DataList>
-----------------
Public idiomaActual As String
...
idiomaActual="sp" 'inicializo con el español por defecto
...
Sub dlIdiomes_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dlIdiomes.SelectedIndexChanged
dlIdiomes.DataBind()
End Sub
Sub dlIdiomes_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs ) Handles dlIdiomes.ItemCommand
dlIdiomes.DataBind()
idiomaActual = e.CommandArgument()
'idiomaActual = Convert.ToString(e.CommandArgument())
dlMenu.DataBind()
End Sub
Sub dlMenu_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dlMenu.SelectedIndexChanged
dlMenu.DataBind()
End Sub




Gracias por tu atencion, si no he dejado algo claro, dimelo y lo vuelvo a intentar ;)

Marc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:53.