Men.. ahi te va una ayuda...
Codigo aspx para vs 2005
Código:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:Label ID="lblCantidad" runat="server" Text='<%# Bind("Cantidad") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Existencia">
<ItemTemplate>
<asp:Label ID="lblExistencia" runat="server" Text='<%# Bind("Existencia") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="BtnCalcular" runat="server" CommandArgument='<%# Bind("Cantidad") & "$" & Bind("Existencia") %>'
Text="Calcular" Width="131px" CommandName="Select" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtResultado" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Código:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
LoadData()
End If
End Sub
Private Sub LoadData()
'//suponiendo que en esta parte de codigo te traes los datos
'//de la base de datos
Dim ds As DataSet = New Data.DataSet
ds.Tables.Add("LoadID")
With ds.Tables("LoadID")
.Columns.Add(New DataColumn("Cantidad", GetType(System.Decimal)))
.Columns.Add(New DataColumn("Existencia", GetType(System.Decimal)))
End With
Dim dr As DataRow
dr = ds.Tables("LoadID").NewRow
dr.Item("Cantidad") = 5
dr.Item("Existencia") = 55
ds.Tables("LoadID").Rows.Add(dr)
dr = ds.Tables("LoadID").NewRow
dr.Item("Cantidad") = 3
dr.Item("Existencia") = 25
ds.Tables("LoadID").Rows.Add(dr)
'//ahora biendeamos al datagrid
GridView1.DataSource = ds
GridView1.DataMember = "LoadID"
GridView1.DataBind()
End Sub
Protected Sub GridView1_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles GridView1.SelectedIndexChanging
Dim dr As GridViewRow = Me.GridView1.Rows(e.NewSelectedIndex)
If Not dr Is Nothing Then 'AndAlso dr.RowState = DataControlRowState.Selected Then
Dim lblCantidad As Label
Dim txtResultado As TextBox
Dim lblExistencia As Label
lblCantidad = dr.Cells(0).FindControl("lblCantidad")
lblExistencia = dr.Cells(1).FindControl("lblExistencia")
txtResultado = dr.Cells(3).FindControl("txtResultado")
txtResultado.Text = CDec(lblCantidad.Text) * CDec(lblExistencia.Text)
End If
End Sub
En este ejemplo, yo creo la tabla en tiempo de ejecucion y se la asigno al datagrid, en tu caso, debes traerte los datos de la base de datos, asegurandore que en tu select esten los campos 'Cantidad' y 'Existencia' y la tabla se llame 'LoadID'
Espero te sirva, saludos