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>