2009-11-16 5 views
0

Nous utilisons une zone de texte dynamique à l'intérieur de la grille. Lorsque la touche tab est enfoncée sur chaque zone de texte à l'intérieur de la grille, nous devons effectuer un calcul en utilisant la valeur totale de la base de données et la valeur dans la zone de texte précédente et le résultat doit apparaître dans la zone de texte suivante.Zone de texte dynamique à l'intérieur de la touche de l'onglet gridview

Cordialement Gita

+0

Quelle langue/cadre que vous utilisez? – Ikke

+0

nous utilisons framework 3.5 – Geetha

Répondre

1

Espérons que cet exemple devrait vous aider sur votre chemin. Dans la grille, définissez les 2 colonnes de zone de texte comme colonnes de modèle afin de pouvoir définir l'événement id et OnTextChanged. L'attribut AutoPostBack est également important de sorte que la zone de texte affiche de nouveau lorsque l'utilisateur tabule. Dans le code derrière vous devez gérer l'événement OnTextChanged et obtenir des références aux zones de texte à l'aide de la méthode FindControl.

Balisez:

<asp:GridView ID="GridView1" runat="server"> 
     <Columns> 
      <asp:TemplateField> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="Texbox_Changed" AutoPostBack="true" ></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField> 
       <EditItemTemplate> 
        <asp:TextBox ID="TextBox2" runat="server" ></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 

code derrière:

Protected Sub Texbox_Changed(ByVal sender As Object, ByVal e As System.EventArgs) 
    Dim Param As String = CType(sender, TextBox).Text 
    Dim Result As String = Param 'TODO: perform calculation 
    CType(GridView1.Rows(GridView1.EditIndex).FindControl("TextBox2"), TextBox).Text = Result 
End Sub 
Questions connexes