Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2009, 07:03
Geoorge
 
Fecha de Ingreso: mayo-2008
Mensajes: 32
Antigüedad: 16 años
Puntos: 0
Enlazar Listbox a Gridview

Buenos dias a todos!!!!

Queria realizar la siguiente consulta:

Tengo un gridview que trae datos de una tabla (SECCIONES). A dicho gridview le cree un TemplateField al cual le agregue un Listbox que se llena con su propio query y pone en SELECTED el item cuyo valor es igual al campo SEC_SEC_ID del query que ejecuta el Gridview.

Mi problema es que cuando utilizo la accion de editar del gridview, hace el uptdate pero no me toma el ID del elemento seleccionado en el listbox!!!

Les Paso algo de codigo para que lo entiendan!!


AQUI ES CUANDO CREO EL LISTBOX Y LO MARCO.

Código:
Dim val As String
            val = DataBinder.Eval(e.Row.DataItem, "SEC_SEC_ID")
            Dim dts As New SqlDataSource
            dts.ConnectionString = ConfigurationManager.ConnectionStrings("WBuilder").ToString
            dts.SelectCommand = "SELECT * FROM SECCION WHERE SEC_SEC_ID NOT IN (0) AND SEC_ID NOT IN (@SEC_ID)"
            dts.SelectParameters.Add("sec_id", DataBinder.Eval(e.Row.DataItem, "SEC_ID"))
            ListBox.DataSource = dts
            ListBox.DataTextField = "SEC_NOMBRE"
            ListBox.DataValueField = "SEC_ID"
            ListBox.DataBind()

            For Each item As ListItem In ListBox.Items
                If item.Value = val Then
                    item.Selected = True
                    Exit For
                End If
            Next
================================================== ==

ESTE ES EL CODE DE MI GRIDVIEW

Código:
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" AllowPaging="True" PageSize="21" AutoGenerateColumns="false" DataKeyNames="SEC_ID" >
    <Columns>
        <asp:BoundField DataField="SEC_ID" />
        <asp:BoundField DataField="SEC_NOMBRE" />
        <asp:BoundField DataField="SEC_ORDEN" />
        <asp:BoundField DataField="SEC_IMG" />
        
        <asp:CommandField ShowEditButton="true" ShowDeleteButton="False" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:ListBox runat="server" ID="SEC_SEC_ID"></asp:ListBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton runat="server" ID="lnkButton" Text="Eliminar" CommandArgument='<%# Eval("SEC_ID") %>' CommandName="Delete"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    </asp:GridView>
================================================

ESTE ES MI UPDATE Y SUS PARAMETROS EN UN SQLDATASOURCE


Código:
UpdateCommand=" UPDATE SECCION
        SET SEC_NOMBRE = @SEC_NOMBRE,
          SEC_ORDEN  = @SEC_ORDEN,
          SEC_IMG    = @SEC_IMG,
          SEC_SEC_ID = @SEC_SEC_ID
WHERE SEC_ID = @SEC_ID">
        <UpdateParameters>
            <asp:Parameter Name="SEC_NOMBRE" Type="String"  />
            <asp:Parameter Name="SEC_ORDEN" />
            <asp:Parameter Name="SEC_IMG" Type="String"  />
            <asp:Parameter Name="SEC_SEC_ID" />
            <asp:Parameter Name="SEC_ID" />
        </UpdateParameters>