none
Manera de decir que un dato es 0 en un dropdownlist RRS feed

  • Pregunta

  • Hola:

    Estoy editando una tabla, países. Hay un dato, bloque comercial, que puede ser 0: país independiente.

    Edito esa tabla. Para el bloque comercial tengo un dropdownlist de bloques comerciales

                <asp:TemplateField HeaderText="Bloque comercial" SortExpression="tbloque">
                    <EditItemTemplate>
                        <b><asp:label ForeColor="Red" Text="*" runat="server" /></b> <asp:Dropdownlist ID="ddlbloquescomerciales" SelectedValue='<%# Bind("bloque")%>' DataSourceID="sqldsbloquescomerciales" DataTextField="bloque" DataValueField="bc0" runat="server" />
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Literal text='<%#IIf(Eval("bloque") > 0, Eval("tbloque"), "<span class=""centrado"">no</span>")%>' runat="server" />
                    </ItemTemplate>
                    <FooterTemplate>
                        <b><asp:label ForeColor="Red" Text="*" runat="server" /></b> <asp:Dropdownlist ID="ddlbloquescomerciales" DataSourceID="sqldsbloquescomerciales" DataTextField="bloque" DataValueField="bc0" runat="server" />
                    </FooterTemplate>
                </asp:TemplateField>
    

    y

        <asp:SqlDataSource ID="sqldsbloquescomerciales" ConnectionString="<%$ ConnectionStrings:Comun%>" SelectCommandType="StoredProcedure" SelectCommand="seleccionar_datos_bloques_comerciales" runat="server" />
    

    Si el bloque comercial del país es 0 me da error

    'ddlbloquescomerciales' tiene un SelectedValue que no es válido porque no existe en la lista de elementos. Nombre del parámetro: value

    ¿Cómo solventarlo? Se me ocurrió añadir un bloque comercial: 'independiente'. ¿Se os ocurre algo mejor?

    Muchísimas gracias.

    viernes, 31 de enero de 2020 18:28

Respuestas

  • hola

    es que no es correcto esto que defines

    SelectedValue='<%# Bind("bloque")%>'

    en el EditItemTemplate

    No funciona de esa forma, deberias tener un evento que lo asigne del lado del servidor

    Ademas si asignaste como

    DataValueField="bc0"

    porque intentas poner al SelectedValue el "bloque" cuando en realidad deberias usar "bc0"

    Tampoco entiendo porque tienes un DropDownList en el footer si veo que la row se puede poner en edicion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta volar.2016 sábado, 1 de febrero de 2020 8:33
    sábado, 1 de febrero de 2020 1:47

Todas las respuestas

  • hola

    es que no es correcto esto que defines

    SelectedValue='<%# Bind("bloque")%>'

    en el EditItemTemplate

    No funciona de esa forma, deberias tener un evento que lo asigne del lado del servidor

    Ademas si asignaste como

    DataValueField="bc0"

    porque intentas poner al SelectedValue el "bloque" cuando en realidad deberias usar "bc0"

    Tampoco entiendo porque tienes un DropDownList en el footer si veo que la row se puede poner en edicion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta volar.2016 sábado, 1 de febrero de 2020 8:33
    sábado, 1 de febrero de 2020 1:47
  • Hola:

    El footer lo uso para añadir registros. Como recomiendan.

    Muchísimas gracias.


    sábado, 1 de febrero de 2020 8:57