begin process at 2012 05 27 18:57:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

Créer un tableau dynamiquement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Créer un tableau dynamiquement

mercredi 10 novembre 2004 à 22:54:07 | Créer un tableau dynamiquement

GerardChezy

Je voudrai créer un tableau dynamiquement (en C#) dans une deuxième page, à partir d'une page dans laquelle je sélectionne dans des checkbox les intitulé de mes lignes, tandis que le nombre de colonne est fixe.
En fonction des chekbox sélectionnées, le tableau dans la page deux comprend autant de ligne que de cases cochées !!
Qui peut m'aider ?
jeudi 11 novembre 2004 à 12:47:11 | Re : Créer un tableau dynamiquement

jesusonline

Membre Club Administrateur CodeS-SourceS

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
public class MyRow : System.Web.UI.WebControls.TableRow
{
public MyRow(string param1, string param2)
{
TableCell Cell1 = new TableCell(param1);
TableCell Cell2 = new TableCell(param2);
this.Cells.Add(Cell1);
this.Cells.Add(Cell2);
}
}

void Page_Load(object sender, EventArgs e)
{
Table MyTable = new Table();
TableRow MyRow;
foreach (CheckBox Check in CheckBoxCollection)
{
if (Check.Checked)
{
MyRow = new MyRow("Cyril", "Durand");
MyTable.Rows.Add(MyRow);
}
}
PlaceHolder1.Controls.Add(MyTable);
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="PlaceHolder1" Runat="server"></asp:PlaceHolder>
</div>
</form>
</body>
</html>


j'ai pas testé ce code, mais ca devrait marcher, la seule chose qui reste à modifier c'est la ligne
foreach (CheckBox Check in CheckBoxCollection)

il faut que CheckBoxCollection soit remplis de tes Checkbox d'avant, si tu y arrives pas, montre moi la page ou tu as les checkbox, et je te dirais

@+

Cyril
jeudi 11 novembre 2004 à 21:15:27 | Re : Créer un tableau dynamiquement

GerardChezy

Bonsoir.

Je vais étudier ton code et le tester. Je te dirai si c'est OK. Mais d'avance, je te remercie.
@+

Gérard
jeudi 11 novembre 2004 à 22:43:43 | Re : Créer un tableau dynamiquement

GerardChezy

Effectivement, j'ai un pb avec CheckBoxCollection.
Pour l'exemple, prend une page (je travaille avec VS 2003) et place y trois checkBox avec trois intitulés style :
ex1, ex2 et ex3 et un bouton "envoyer" pour aller vers la page qui génére le tableau.
On doit retrouver ces trois intitulés dans les entetes de trois lignes si les trois checkbox sont cochés, en clair les intitulés des checkbox cochés, avec les lignes correspondantes dans le tableau généré dans une page distincte.

Encore merci (je ne suis pas un crac !!)
jeudi 11 novembre 2004 à 23:19:52 | Re : Créer un tableau dynamiquement

jesusonline

Membre Club Administrateur CodeS-SourceS
ok, il faut que tu traite les données de ces checkbox durant la premiere page, soit tu les rentre dans une variable session, soit tu utilises un request.form soit encore plein de chose :)

pour ce qui est des Checkbox, il y en a un nombre fixe ? ils sont generé par le code vb ou directement dans le code html, le plus simple pour faire ce genre de chose est d'ajouter tes checkbox par le code, ou alors tu as la possibillité d'utiliser un checkboxlist, je t'explique avec un checkboxlist tout à l'heure.

@+


Cyril
vendredi 12 novembre 2004 à 00:11:39 | Re : Créer un tableau dynamiquement

jesusonline

Membre Club Administrateur CodeS-SourceS
Default.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
public class MyRow : System.Web.UI.WebControls.TableRow
{
public MyRow(string param1)
{
TableCell Cell = new TableCell("rien");
this.Cells.Add(Cell);
Cell = new TableCell(param1);
this.Cells.Add(Cell);
}
}

void Page_Load(object sender, EventArgs e)
{
Table MyTable = new Table();
TableHeaderRow HeaderRow = new TableHeaderRow();
TableHeaderCell THC = new TableHeaderCell();
THC.Text = @"pas grand chose";
HeaderRow.Cells.Add(THC);
THC = new TableHeaderCell();
THC.Text = @"Valeur du CheckBox";
HeaderRow.Cells.Add(THC);
MyTable.Rows.Add(HeaderRow);

TableRow myRow;
foreach (ListItem Check in ((CheckBoxList)Session["CheckBoxList"]).Items)
{
if (Check.Selected)
{
myRow = new MyRow(Check.Text);
MyTable.Rows.Add(myRow);
}
}
PlaceHolder1.Controls.Add(MyTable);
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="PlaceHolder1" Runat="server"></asp:PlaceHolder>
</div>
</form>
</body>
</html>


Default2.aspx

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">

void Button1_Click(object sender, EventArgs e)
{
Session["CheckBoxList"] = (object)this.CheckBoxList1;
Response.Redirect(ResolveClientUrl("Default.aspx"));
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList ID="CheckBoxList1" Runat="server">
<asp:ListItem Value="Valeur1" Enabled="true"></asp:ListItem>
<asp:ListItem Value="Valeur2" Enabled="true"></asp:ListItem>
<asp:ListItem Value="Valeur3" Enabled="true"></asp:ListItem>
<asp:ListItem Value="Valeur4" Enabled="true"></asp:ListItem>
</asp:CheckBoxList>
<asp:Button ID="Button1" Runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>


Dans Default2.aspx, la méthode ResolveClientUrl ne doit pas exister avec le fram 1.1 il faut la remplacer par ResolveUrl, je travail avec Whidbey donc la framework 2; je pense pas qu'il y ait d'autres incompatibilité, peut etre au niveau du checkboxlist.

J'espere que tu es assez familier avec les langage objet, notamment avec les classes, je sais pas si t'as compris ce que venait faire la classe MyRow, si tel n'est pas le cas, je t'expliquerais

@+


Cyril
vendredi 12 novembre 2004 à 00:42:40 | Re : Créer un tableau dynamiquement

jesusonline

Membre Club Administrateur CodeS-SourceS
Petit modif, j'ai pensé ca car j'avais laissé ma page dans un onglet de Firefox, j'ai fait F5 et ca a planté :)

j'ai donc modifié un petit peu le code, pour verifier qu'il y ait bien une variable session chez le client, sinon retour à la case depart

à modifier dans Default.aspx

void Page_Load(object sender, EventArgs e)
{
Table MyTable = new Table();
TableHeaderRow HeaderRow = new TableHeaderRow();
TableHeaderCell THC = new TableHeaderCell();
THC.Text = @"pas grand chose";
HeaderRow.Cells.Add(THC);
THC = new TableHeaderCell();
THC.Text = @"Valeur du CheckBox";
HeaderRow.Cells.Add(THC);
MyTable.Rows.Add(HeaderRow);

TableRow myRow;
if (!Session["CheckBoxList"] == nothing)
{
foreach (ListItem Check in ((CheckBoxList)Session["CheckBoxList"]).Items)
{
if (Check.Selected)
{
myRow = new MyRow(Check.Text);
MyTable.Rows.Add(myRow);
}
PlaceHolder1.Controls.Add(MyTable);
}
}
else
{
Response.redirect(ResolveClientUrl("Default2.aspx"));
}
}

Cyril
vendredi 12 novembre 2004 à 00:47:04 | Re : Créer un tableau dynamiquement

jesusonline

Membre Club Administrateur CodeS-SourceS
Décidemment j'accumule les erreurs moi :D
ne pas tenir compte du post precedent

if (Session["CheckBoxList"] != null)
{
foreach (ListItem Check in ((CheckBoxList)Session["CheckBoxList"]).Items)
{
if (Check.Selected)
{
myRow = new MyRow(Check.Text);
MyTable.Rows.Add(myRow);
}
PlaceHolder1.Controls.Add(MyTable);
}
}
else
{
Response.Redirect(ResolveClientUrl("Default2.aspx"));
}
}


Cyril
vendredi 12 novembre 2004 à 11:55:03 | Re : Créer un tableau dynamiquement

GerardChezy

Bien. J'ai essayé mais je n'ai pas encore tout compris. Je vais eplucher ton code.
Pour le moment j'ai le message d'erreur suivant :
-----------
Message d'erreur du compilateur: CS0246: Le type ou le nom d'espace de noms 'TableHeaderRow' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

Erreur source:



Ligne 18 : {
Ligne 19 : Table MyTable = new Table();
Ligne 20 : TableHeaderRow HeaderRow = new TableHeaderRow();
Ligne 21 : TableHeaderCell THC = new TableHeaderCell();
Ligne 22 : THC.Text = @"pas grand chose";
------------

Encore merci.
vendredi 12 novembre 2004 à 13:26:51 | Re : Créer un tableau dynamiquement

jesusonline

Membre Club Administrateur CodeS-SourceS
ton erreur vient du fait que j'ai employé la framework 2.0 remplace les par des TableRow et TableCell, il doit pas encore y avoir des TableHeaderCell etc... dans la fram 1.1

J'espere qu'il n'y aura encore pas trop d'incompatibilités du genre


Cyril

1 2

Cette discussion est classée dans : créer, page, tableau, dynamiquement


Répondre à ce message

Sujets en rapport avec ce message

Variables d'une page à un autre [ par kris ] J'aurais voulu savoir si quelqu'un connaissais le moyen de se resservir d'une variable(un tableau) à proprement dit, dans une page qui a été appelée p Variables d'une page à un autre [ par cleroux ] J'aurais voulu savoir si quelqu'un connaissais le moyen de se resservir d'une variable(un tableau) à proprement dit, dans une page qui a été appelée p créer une page dynamique [ par fyrto ] kelk'un orait un code se rapprochant ou proposition qui permettrer ke kon a un formulaire nom, prénom, date de naissance il fo que quand je rentre une PASSAGE D'UN TABLEAU COMME PARAMETRE ?!?! [ par TaIPaN666 ] Bonjour, Je ne sais comment passer un tableau en param d'une page .ASP vers une autre page .ASP... Le problème est que le tableau est vraiment co Créer un tableau en utilisant MYSQL [ par arbiter ] Bonjour,je suis débutant ds le PHP MySql et je cherche à créer la chose suivante :Sur une page web je voudrais créer un tableau avec la possibilité d' Créer des fichiers PDF dynamiquement. [ par fellow ] Quelqu' un connait-il une méthode pour créer dynamiquement des fichiers au format PDF ?C' est à dire sur le poste serveur évidemment ...Merci Tableau [ par Appolon ] Comment récupérer le tableau d'une page dont g chargé les éléments dans ce tableau pour travailler dans la page suivant??? merci de votre (je travaill pb mise en page tableau [ par ratch ] Bonjour j'ai une requete qui doit s'afficher dans un tableau mais je ne sais pour quelle raison, la deuxième colonne s'affiche en décalée par exemple demande de conseil [ par syc ] bjr, j'ai une page asp qui contient une listebox quand je selectionne un item je vais lire ma bdd et j'alimente un tableau. on m'a conseille de le fa créer un tableau avec delphi4 et le rendre visible! [ par nadou57 ] bonjour!Je dois faire la programmation en delphi4 du jeu puissance4 avec une grille de 16 lignes et 16 colonnes que le joueur pourra modifier. Je suis


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales