Hello I have a datagrid with a dropdownlist that has the products,
another column has the price of the product and when the user changes
the product it also must change the price how can I achieve that.
Thanks
Datagrid html
<asp:datagrid id="dgpedidos" runat="server" Width="100%"
ShowFooter="Tru e" AutoGenerateCol umns="False">
<ItemStyle CssClass="regis tros"></ItemStyle>
<HeaderStyle CssClass="titul ostablas"></HeaderStyle>
<Columns>
<asp:ButtonColu mn Text="Eliminar"
CommandName="De lete"></asp:ButtonColum n>
<asp:TemplateCo lumn HeaderText="Pro ducto">
<ItemTemplate >
<asp:DropDownLi st id="ddlproducto s" runat="server"> </asp:DropDownLis t>
</ItemTemplate>
<FooterTemplate >
<asp:LinkButt on id="LinkButton1 " runat="server"
CommandName="ag regarproducto"> Agregar Producto</asp:LinkButton>
</FooterTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Can tidad">
<ItemTemplate >
<asp:TextBox id="txtcantidad " runat="server" Width="44px"
CssClass="texto s"></asp:TextBox>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Pre cio">
<ItemTemplate >
<asp:TextBox id=txtprecio runat="server" Width="60px" CssClass="texto s"
Text='<%# DataBinder.Eval (Container, "DataItem.preci oespecifico") %>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Iva ">
<ItemTemplate >
<asp:TextBox id=txtivaporpro ducto runat="server" Width="36px"
CssClass="texto s" Text='<%# DataBinder.Eval (Container, "DataItem.i va",
"{0:N0}%") %>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Sub total">
<ItemTemplate >
<asp:TextBox id="txtsubtotal porproducto" runat="server" Width="68px"
CssClass="texto s"></asp:TextBox>
</ItemTemplate>
</asp:TemplateCol umn>
</Columns>
</asp:datagrid>
And my codebehind
Dim objconsultas As New LBDatos.consult as
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArg s) Handles MyBase.Load
If Not Page.IsPostBack Then
cargarproductos ()
cargardatagrid( )
End If
End Sub
Public Sub cargarproductos ()
Session("produc tos") =
objconsultas.to dosproductoxCia (Session("idcom pania"))
End Sub
Private Sub cargardatagrid( )
Dim ds As DataSet
Dim dc1 As New DataColumn("Sub Total",
System.Type.Get Type("System.De cimal")) 'i am assuming your stored proc
does not contain a column SubTotal
Dim dc2 As New DataColumn("Can tidad",
System.Type.Get Type("System.In t32"))
ds = objconsultas.pr oductoxCia(Sess ion("idcompania "))
ds.Tables(0).Co lumns.Add(dc2)
dc1.Expression = "Cantidad * Precioespecific o"
ds.Tables(0).Co lumns.Add(dc1)
dgpedidos.DataS ource = ds
dgpedidos.DataB ind()
End Sub
Private Sub dgpedidos_ItemD ataBound(ByVal sender As Object, ByVal e
As System.Web.UI.W ebControls.Data GridItemEventAr gs) Handles
dgpedidos.ItemD ataBound
If e.Item.ItemType = ListItemType.It em Or e.Item.ItemType =
ListItemType.Al ternatingItem Then
Dim ddlproductos As New DropDownList
ddlproductos.Au toPostBack = True
ddlproductos = e.Item.Cells(1) .FindControl("d dlproductos")
ddlproductos.Da taSource = CType(Session(" productos"),
DataSet)
ddlproductos.Da taTextField = "descripcio n"
ddlproductos.Da taValueField = "idproducto "
ddlproductos.Da taBind()
End If
End Sub
Private Sub dgpedidos_ItemC ommand(ByVal source As Object, ByVal e As
System.Web.UI.W ebControls.Data GridCommandEven tArgs) Handles
dgpedidos.ItemC ommand
If e.CommandName = "agregarproduct os" Then
Dim di As DataGridItem
di.
End If
End Sub