Ajout d'une ligne dans un datagrid Manuellement

Résolu
killysui Messages postés 16 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 18 février 2008 - 13 avril 2006 à 14:49
killysui Messages postés 16 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 18 février 2008 - 13 avril 2006 à 17:01
Bonjour!

J'utilise Asp .net aveac le langage C#. Et je voudrai savoir s'il est possible d'ajouter une ligne dans un datagrid sans passer par une table de base de données, ni DataSet, ni dataAdapter...

Car j'ai un datagrid( dataGridConnaissance), dans lequel je voudrai ajouter 4 données saisient dans des TextBox lors de l'événement click sur un bouton situés dans la même page.

Merci d'avance.

4 réponses

Tofetlui Messages postés 62 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 3 juillet 2009
13 avril 2006 à 16:45
Tiens voici une partie de mon code.
Cependant cette façon a l'inconvenient de faire monter le poids de la page dû au viewstate.
Donc si tu as bcp de donnée essaie avec les variables sessions.

private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
DataTable dt = new DataTable();

//Creation des Colonnes avec leur titre
DataColumn dt_col1 = new DataColumn();
dt_col1.DataType = typeof(string);
dt_col1.ColumnName = "Le Nom de ta colonne";
dt.Columns.Add(dt_col1);

dg.DataSource = new DataView(dt);
dg.DataBind();

ViewState.Add("dt", dt);

}
}


public void testdt()
{
try
{
//Creation des lignes
DataRow dr;
dr = ((DataTable)ViewState["dt"]).NewRow();
dr["le nom de ta row"] = texbox.Text;
((DataTable)ViewState["dt"]).Rows.Add(dr);
dg.Visible = true;
dg.DataSource = new DataView((DataTable)ViewState["dt"]);
dg.DataBind();


}
catch(Exception ex)
{
Response.Write(ex.Message);
}

}

Voila j'espere que ca t'aidera
3
Tofetlui Messages postés 62 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 3 juillet 2009
13 avril 2006 à 16:02
Salut
Tu peux ajouter un ligne dans ton datagrid avec les valeurs de tes textbox.
Il te suffit de creer une datatable avec une datarow et unedatacolumn
Tu defini ensuite une nouvelle ligne a laquelle tu affectes les valeurs de tes texbox.
Tu mets le tout dans un dataset avec lequel tu bind ton datagrid.

Voila j'espere avoir été assez clair.
Bon dev
0
killysui Messages postés 16 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 18 février 2008
13 avril 2006 à 16:29
Salut!

Merci pour ta réponse...
J'ai effectivement compris tes explications mais il faut dire aussi que j'ai remarqué que toi aussi tu t'étais posé cette question...
Cependant comme toi j'arrive la première fois, mais je ne sais pas comment faire pour sauvegarder les lignes précédentes lors d'une nouvelle insertion(je sais que c'est avec un ViewState mais je ne sais pas comment m'y prendre).

Merci d'avance.
0
killysui Messages postés 16 Date d'inscription mercredi 29 juin 2005 Statut Membre Dernière intervention 18 février 2008
13 avril 2006 à 17:01
Super!!!

Merci, j'ai essayé et effectivement ça fonctionne... (Pour le moment je vais utiliser les viewState car je n'ai pas beaucoup de donnée) .
Tu m'as enlevé une épine du pied...

Encore Merci.
0
Rejoignez-nous