Ciao a tutti,
VS2013 asp.net VB.net SQLServer2014
su un datagrid ho 2 campi di numerici
ed un 3 dove far vedere la sottrazione dei due campi:
es
campo1 campo2 campo3 = campo1-campo2
5 2 3
il tutto vorrei farlo OnTextChanged di campo2 e l'ho fatto come segue:
su ASP.net ne campo2 ho messo:
<asp:TemplateField HeaderText="Copie PDV">
<ItemTemplate>
<asp:TextBox runat="server" ID="campo2" Text='<%# Bind("campo2")%>' Width="70"
AutoPostBack="true"
OnTextChanged="campo2_TextChanged">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField
in VB.net
Protected Sub campo2_TextChanged(sender As Object, e As EventArgs)
Dim row As GridViewRow = DirectCast(DirectCast(sender, TextBox).NamingContainer, GridViewRow)
Dim campo1 As Label = DirectCast(row.FindControl("campo1 "), Label)
Dim campo2 As TextBox = DirectCast(row.FindControl("campo2 "), TextBox)
Dim campo3 As Label = DirectCast(row.FindControl("campo3 "), Label)
If campo1 IsNot Nothing And campo2 IsNot Nothing Then
campo3 .Text = CInt(campo1 .Text) - CInt(campo2 .Text)
End If
End Sub
e funziona benissimo,
unico problema, ogni volta che lo esegue,indipendentemente dalla riga in cui sto, si riposiziona a monte del gridview (come se refresciasse)
ed è orrendo.
Sapete aiutarmi per favore.
Emanuele