Tout d'abord bonjour Messieurs et Mesdames !!!
Voila mon souci, lorsque j'insere un champ dans mon dataset, l'index
(et donc mon dataset) ne se met pas a jour, ce qui me donne des
resultats quand je supprime ma fois surprenant.
Mon code d'insertion :
private void dgNomenclature_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName == "Insert")
{
int fin = ds.ETABLIR.Columns.Count;
DataRow dr = ds.ETABLIR.NewRow();
for(int i=0;i<fin;i++)
{
object DeathDate = new object();
string sNom;
if(i!=1)
{
string nom =
"txtBox"+i;
sNom =
((TextBox) e.Item.FindControl(nom)).Text;
}
else
{
sNom =
((DropDownList)
e.Item.FindControl("listBox")).SelectedValue.ToString().Trim();
}
if (i!=0)
{
if (i==2)
{
double max = MaxPlace()+1;
dr[i]=max;
}else
if(sNom=="")
{
DeathDate = System.DBNull.Value;
dr[i] = DeathDate;
}
else
{
dr[i] = sNom;
}
}
else
{
dr[i] =
Session["refNom"].ToString();
}
}
ds.ETABLIR.Rows.Add(dr);
}
if(e.CommandName=="Inserer")
{
int fin = ds.ETABLIR.Columns.Count;
DataRow dr = ds.ETABLIR.NewRow();
string sNom;
Control ctr =
e.Item.FindControl("lstBox"+e.Item.ItemIndex.ToString());
sNom = ((DropDownList)ctr).SelectedValue.Trim();
double max = MaxSousPlace(e);
dr[0]=refNom;
dr[1]=sNom;
dr[2]=max;
ds.ETABLIR.Rows.Add(dr);
}
ds.ETABLIR.DefaultView.Sort = "place";
dgNomenclature.DataSource = ds.ETABLIR.DefaultView;
dgNomenclature.DataMember="etablir";
dgNomenclature.DataBind();
Session["ds"]=ds;
this.Couleur();
}
Mon code de suppression :
private void dgNomenclature_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int i =e.Item.ItemIndex;
if(i+1<dgNomenclature.Items.Count)
{
if(dgNomenclature.Items[i+1].Cells[5].Text.Length>dgNomenclature.Items[i].Cells[5].Text.Length)
{
int temp =i+1;
while(temp+1<=dgNomenclature.Items.Count &&
dgNomenclature.Items[temp].Cells[5].Text.Length>dgNomenclature.Items[i].Cells[5].Text.Length)
{
ds.ETABLIR.Rows[temp].Delete();
temp=temp+1;
}
}
}
ds.ETABLIR.Rows[i].Delete();
ds.ETABLIR.DefaultView.Sort = "place";
dgNomenclature.DataSource = ds.ETABLIR.DefaultView;
dgNomenclature.DataMember="etablir";
dgNomenclature.DataBind();
Session["ds"]=ds;
this.Couleur();
}
Merci de me venir en aide s'il vous plait...
PS: par contre quand je supprime apres avoir enregistrer mon dataset sur mon server sql, tout marche inpec