papiseckfr
Messages postés12Date d'inscriptionmardi 10 août 2004StatutMembreDernière intervention10 septembre 2004
-
6 sept. 2004 à 20:12
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
10 sept. 2004 à 22:57
bonjour,
j'ai un probleme, en fait je génére un tableau dhtml dynamique et je le rempli de controle (dropdownlist label, inputext ...) cependant chaque fois que je clique sur un bouton valider et que je veuiller récupéré les element rempli par l'utilisateur je n'y arrive pas. On dirai qu'avant d'execter le code qui est dans le bouton la page enleve tout les controles et les lignes ajouter dynamiquement ainsi si je recherche les contrles par rapport à leur id oubien que je passe le tableau généré a une autre page et que je cherche les elements ajoutés je ne trouve rien il y'a et il genére une erreur:
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
voici mon code:using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public HtmlTable xtable
{
get
{
return Table1;
}
}
private void Page_Load(object sender, System.EventArgs e)
{
this.EnableViewState=true;
Table1.EnableViewState=true;
if (!IsPostBack )
{
Table1.EnableViewState=true;
string sql_cl= "SELECT nom_client FROM client order by nom_client asc";
NumBon numero_bon = new NumBon();
xnumbon.Text = numero_bon.getNumBon().ToString();
xcompte.Text= Session["compte"].ToString();
DataBase db= new DataBase();
db.setDbConnection();
db.getDbConnection().Open();
RecordSet rs = new RecordSet(sql_cl,db.getDbConnection());
xclient.DataSource = rs.execSelect();
xclient.DataTextField = "nom_client";
xclient.DataBind();
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN : Cet appel est requis par le Concepteur Web Form ASP.NET.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
private void InitializeComponent()
{
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
int numrows = Convert.ToInt32 (xnbre.Text);
// boucle selon le nombre de produit
for ( int r = 0; r < numrows; r++ )
{
// instantiate a new row
HtmlTableRow row = new HtmlTableRow ( );
row.EnableViewState=true;
// set bgcolor for alternating rowsif ( r % 2 1 ) row.BgColor "beige";
// loop through the given number of cells
for ( int c = 0; c < 8; c++ )
{
// instantiate a new cell
HtmlTableCell cell = new HtmlTableCell ( );
cell.EnableViewState=true;
// add cell content
if(c==0)
{
string sql_query="select distinct(nom_prod) from produit order by nom_prod asc";
DropDownList ddlDesi = new DropDownList();
//ddlDesi.EnableViewState=false;
//ddlDesi.AutoPostBack=true;
ddlDesi.ID=r+"lc"+c;
//DropDownList ddlDesi = (DropDownList)this.FindControl("l0c0");
DataBase db= new DataBase();
db.setDbConnection();
db.getDbConnection().Open();
RecordSet rs = new RecordSet(sql_query,db.getDbConnection());
ddlDesi.DataSource = rs.execSelect();
ddlDesi.DataTextField = "nom_prod";
ddlDesi.DataBind();
cell.Controls.Add (ddlDesi);
}
else if(c==1)
{
HtmlInputText itnom=new HtmlInputText();
itnom.ID=r+"lc"+c;
itnom.Size=10;
cell.Controls.Add(itnom);
}
else if (c==2)
{
DropDownList ddl = new DropDownList();
ddl.ID=r+"lc"+c;
ddl.Width=100;
//creation d'un array liste
ArrayList heuredifusion=new ArrayList ( );
heuredifusion.Add ( "12h:30" );
heuredifusion.Add ( "13h:00" );
heuredifusion.Add ( "14h:00" );
heuredifusion.Add ( "14h:15" );
heuredifusion.Add ( "15h:00" );
heuredifusion.Add ( "17h:00" );
heuredifusion.Add ( "19h:30" );
heuredifusion.Add ( "20h:00" );
heuredifusion.Add ( "20h:30" );
heuredifusion.Add ( "21h:00" );
heuredifusion.Add ( "23h:30" );
heuredifusion.Add ( "23h:45" );
ddl.DataSource=heuredifusion;// fn array liste
ddl.DataBind();
cell.Controls.Add (ddl);
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 10 sept. 2004 à 22:57
refais le moi penser dans 2 semaines car je vais bientot etre en vendanges, et etant fils de viticulteur dans le beaujolais, mes journées vont etre tres chargés, je viens de finir ma journée :big)
donc dans deux semaines repost un message ici, ca m'y refera penser