fab83

je suis en BTS est mon projet est de réaliser un site de vente
g un pb avec mon panier .
Voici mon code j'ai une datgrid1qui represente mon catalogue lorsque je selectionne une ligne j'obtient bien le champs selectionner et je le met dans une deuxieme datatagrid2(mon panier) le probleme est que lorque je selectionne une seconde fois la premiere ligne est effacer
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;
namespace PageClient
{
/// <summary>
/// Summary description for Catalogue.
/// </summary>
public class Catalogue : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Data.DataSet dataset2=new System.Data.DataSet();
protected System.Web.UI.WebControls.DataGrid DataGrid2;
protected System.Web.UI.WebControls.TextBox TextBox1;
protectedSystem.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.Button Button1;
protected DataTable Panier;
protected DataView PanierView;
private void Page_Load(object sender, System.EventArgs e)
{
_228_poste022.Catalogue ServCat=new _228_poste022.Catalogue();//Service web de ma creation
System.Data.DataSet dataset=new System.Data.DataSet();
try
{
if(Page.IsPostBack==false)
{
Panier=new DataTable();
Panier.Columns.Add(new DataColumn("Refarticle", typeof(string)));
Panier.Columns.Add(new DataColumn("Quantité", typeof(int)));
DataView PanierView = new DataView(Panier);
this.DataGrid2.DataSource = PanierView;
this.DataGrid2.DataBind();
/*affichage catalogue complet*/
this.DataGrid1.DataSource=ServCat.GetTousLesArticles();
this.DataGrid1.DataBind();
/*affichage dans la Dropdownlist des gamme*/
dataset =ServCat.GetGammes();
this.DropDownList1.DataValueField="descgamme";
this.DropDownList1.DataSource =dataset.Tables["Table"].DefaultView;
this.DropDownList1.DataBind();
this.DropDownList1.Items.Add("Tous");
}
}
catch(Exception ex)
{
string exc=ex.Message.ToString();
}
}
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.DataGrid1.SelectedIndexChanged += new System.EventHandler(this.DataGrid1_SelectedIndexChanged);
this.DropDownList1.SelectedIndexChanged += new System.EventHandler(this.DropDownList1_SelectedIndexChanged);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
try
{
if(this.TextBox1.Text=="")
this.RequiredFieldValidator1.Validate();
else
{
int index;
DataRow dr=Panier.NewRow();
index=Convert.ToInt32(this.DataGrid1.SelectedIndex.ToString());
TableCell itemCell = this.DataGrid1.Items[index].Cells[1];
string refart = itemCell.Text;// réference article
int quantite =Convert.ToInt32( this.TextBox1.Text);//quantité
dr["Refarticle"]=refart;
dr["Quantité"]=quantite;
Panier.Rows.Add(dr);
this.DataGrid2.DataSource=Panier;
this.DataGrid2.DataBind();
//Session["monpanier"]=Panier;
}
}
catch(Exception ex)
{
string exc=ex.Message.ToString();
}
}
}
}