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>