2010-06-30 7 views
0

Ce que je voudrais réaliser:ListView ajouter une ligne par programme après databind

Je voudrais qu'un utilisateur puisse insérer une ligne dans la liste. MAIS pas dans une base de données.

Ce que je suis coincé sur:

Je suis actuellement coincé sur le OnItemCommand, je ne semble pénétrer dans la méthode. Toute aide serait géniale Code ci-dessous.

<LayoutTemplate> 
    <table> 
     <th> 
     </th> 
     <th class="grayHeader"> 
      <asp:Label ID="lblHeader" runat="server" /> 
     </th> 
     <tr> 
      <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder> 
     </tr> 
    </table> 
</LayoutTemplate> 
<ItemTemplate> 
    <tr> 
     <td> 
      <asp:Button runat="server" ID="btnDeletePerson" Text="-" CommandName="deletePerson"/> 
     </td> 
     <td> 
      <asp:Label ID="lblPerson" runat="server" Text='<% #Eval("Person") %>'></asp:Label> 
     </td> 
    </tr> 
</ItemTemplate> 
<InsertItemTemplate> 
    <tr> 
     <td> 
      <asp:Button ID="btnAddUser" runat="server" CommandName="Insert" ext="+" /> 
     </td> 
     <td> 
      <asp:TextBox runat="server" ID="txtInsert"></asp:TextBox> 
     </td> 
    </tr> 
</InsertItemTemplate> 




Protected Sub ListGrantee_OnItemCommand(ByVal sender As Object, ByVal e As ListViewCommandEventArgs) 
    Select Case e.CommandName 
     Case "Insert" 
      Dim test As ListViewItem 
      test = New ListViewItem("test") 
      listGrantee.Items.Add(test) 
     Case "" 
     Case Else 
    End Select 
End Sub 
+0

Vous avez manqué d'inclure une partie de votre code - vous montrez simplement une partie de la section du modèle. Qu'y a-t-il dans votre partie réelle

Répondre

0

j'avais viewstate mis hors tension. Qui a désactivé le mécanisme d'événement, retourné l'état d'affichage sur le problème résolu.

0

Je vous enregistrer temporairement créé des utilisateurs dans DataSource ListView marqué comme temporaire (ajouter un nouveau DataColumn). Ensuite, vous devez DataBind la Listview. Stockez le drapeau dans un contrôle invisible (label) afin qu'il soit enregistré dans ViewState on Postbacks.

0

Suite à mon commentaire - si je comprends votre problème, votre gestionnaire d'événements OnItemCommand n'est pas déclenché. Voici comment j'ai configuré les gestionnaires d'événements (en utilisant VS2008).

Dans la vue de conception pour le fichier aspx, je souligne le contrôle qui m'intéresse. Ensuite, dans la fenêtre "Propriétés", je clique sur le bouton de l'événement (le petit éclair), et fais défiler la liste des événements jusqu'à ce que je trouve celui qui m'intéresse

Double-cliquez dans la colonne à côté du nom de l'événement - cela fera apparaître le code derrière la page, avec le shell du gestionnaire d'événement en place - y compris le tout important "poignées ...." clause.

Maintenant, entrez votre code de gestion des événements ....

+0

normalement, vous avez raison, il me manque la clause handels, mais cela est pris en charge dans le balisage. Ce que je n'ai pas posté complètement De toute façon je l'ai résolu –

Questions connexes