Ajouter des lignes à un tableau dynamiquement
Pour le moment, je suis en train de créer un tableau dont le contenu est censé être créé par une sous-classe (résultat de l'interrogation d'un service web RESTful). J'ai travaillé pendant un certain temps maintenant et je n'arrive pas à le faire fonctionner. J'ai essayé beaucoup de solutions différentes.
- la création de la table dans la sous-classe et l'ajouter à la Page.Les contrôles. Qui me fait "La collection de Contrôles ne peuvent pas être modifiées car le contrôle contient les blocs de code (c'est à dire <% ... %>)." qui n'est pas logique du tout.
- J'ai essayé de créer une table vide sur la page et passé sa poignée à la sous-classe qui était responsable de l'ajout de lignes. Notant qui s'est passé.
- J'ai essayé de retourner un TableRowCollection et il a attribué à la créé précédemment (vide) de la table. Rien ne s'est passé.
- Maintenant, je veux juste ajouter une ligne et d'une cellule de la table (baby steps vers ce dont j'ai besoin). Même pas qui fonctionne. Vous trouverez le code ci-jointe:
TableRow row = new TableRow(); table.Rows.Add(row); TableCell cell = new TableCell(); row.Cells.Add(cell); cell.Controls.Add(new TextBox());
La table est simple et vide:
<asp:Table ID="table" runat="server" />
Le code source qui est affiché par mon navigateur ressemble à ça:
<table id="table">
</table>
J'ai été à la recherche à d'innombrables exemples sur le web et tous ressembler à ceci. Je suppose que c'est seulement un petit problème quelque part, mais je n'ai pas été en mesure de le comprendre. Maintenant, je suis prêt à offrir au long de la vie de la gratitude pour tout le monde qui peut fournir de l'aide pour la résolution de ce gâchis.
OriginalL'auteur Jan | 2012-06-02
Vous devez vous connecter pour publier un commentaire.
Il est au travail, je l'ai testé:
Dans mon chargement de la page, j'ai:
Sur ma page aspx, j'ai:
Le rendu au format html par ce code:
Je l'ai testé, il fonctionne.
OriginalL'auteur Kapil Khandelwal
Je voudrais utiliser un asp:GridView ou un asp:Repeater
par exemple avec Répéteur
puis dans votre code derrière
ou vous pouvez utiliser un GridView
l'aide de la table.Les lignes.Ajouter() aura tendance à vous causer des problèmes, en particulier avec la disparition du contenu sur la publication, ou des problèmes avec les gestionnaires d'événements qui ne se déclenche pas si vous avez besoin d'ajouter tout LinkButtons ou quoi que ce soit pour votre table de cellules
OriginalL'auteur user1321471
La question est, où êtes-vous d'ajouter ces lignes dans la table, je veux dire dans lequel l'événement de la page?
Car j'ai l'impression que le message de retour est la compensation de toutes les lignes ajoutées.
Veuillez indiquer la séquence d'exécution et aussi essayer de mettre votre code dans page_init événement pour ajouter des lignes.
OriginalL'auteur Imran Balouch
r u accédant tableau id dans le code derrière puis utiliser le code ci-dessus a tous..je t fonctionne bien je l'ai testé..
Vous devez générer le tableau de la page de chargement ou après un événement de feu
Hé, oui! Qui fonctionne. J'ai donc transféré le code de Page_Load et qui fonctionne. Merci pour cette! Mais pourquoi je ne peux pas le mettre dans un bloc de code dans le fichier aspx?
na pas Obtenir ce que tu dis "Mais pourquoi je ne peux pas le mettre dans un bloc de code dans le fichier aspx?"
OriginalL'auteur Nikhil D