Bonjour,
Je souhaiterais attribuer dynamiquement une valeur a une cellule d'un DataGrid.
Cependant, je n'ai trouvé aucune propriété .Text ou .Value ???
Comment faire ?
Merci
Bonjour,
Je souhaiterais attribuer dynamiquement une valeur a une cellule d'un DataGrid.
Cependant, je n'ai trouvé aucune propriété .Text ou .Value ???
Comment faire ?
Merci
et ca, ca ne va pas..?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DataGridView d = new DataGridView(); d.Rows[2].Cells[2].Value = 2;
Vous devez utiliser la propriété Item de l'objet DataGrid.
En principe, tous les controles Data sont conçus pour être facilement lié avec une base de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DataGridView d = new DataGridView(); d.Item(2,2)=2;
Et vous le trouvez ou ce controle DataGridView ???
moi je n'ai que DataGrid ou DataView !?
[MAJ]
Apres qq recherche sur google, j'ai trouvé que le dataGridView était une nouveauté du Framework .Net 2.0 !
Cependant, j'ai oublié de préciser que j'étais sous Visual Studio 2003, dc .Net 1.1...![]()
WOLO Laurent t'a tout de même montrer la piste
transforme en
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.DataGrid1(numeroLigne, numeroColonne) = "valeur à afficher";
bah j'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.dataGrid' désigne 'champ' où 'méthode' était attendu
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.DataGrid1(numeroLigne, numeroColonne).Text = "valeur à afficher";
non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.DataGrid1(numeroLigne, numeroColonne).Value= "valeur à afficher";:
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
Ben t'aurais pu corriger ma traduction C# approximative![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.DataGrid1[numeroLigne, numeroColonne] = "valeur à afficher";
la propriété Cells n'existe pas![]()
sinon, ca serait trop beau ! lol
je te comprends pas je viens de te donner la réponses corrigée avec la modification des parenthèses en crochetsEnvoyé par linuxludo
de plus ce n'est pas Cells mais Item
>>meuh non Morpheus une DataGridCell n'a jamais eu ces propriétés, t'aurais dû voir mes parenthèses inappropriées de vbciste![]()
Ok, ca c'est bon, ca marche !!!!Envoyé par neguib
Merci...
Maintenant, autre pb ! (je sais, je suis chiant lol)![]()
J'ai un data grid et un dataset...
je voudrais qu'une table de mon dataset soit automatiquement modifiée qd je modifie d'autre table...
soit un petit peu plus precis crois tu réellement avoir donné suffisamment sur ton architecture pour que moi qui ne l'ai pas devant les yeux je puisses jouer aux devinettes![]()
Désolé...
Voici mon architecture :
Je précise toute fois que je me sert du dataGrid avec AUCUNE BDD !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 DataSet + Table0 + Col0 + Col1 + Table1 + Col0 + Col1 + Col2 + Col3 + Table2 + Col0 + Col1 + Col2 + Col3 + Col4 + Table3 + Col0 + Col1 + Col2 + Table4 + Col0 + Col1 + Col2 + Table5 + Col0 + Col1 + Col2 + Col3 + Col4 + Col5
C'est juste pour mettre en forme mes données...(et puis je trouvais ce composant pas mal niveau design pour mon appli).
Chaque table ne possedera que une ligne !
Chaque champs est de type System.Decimal sauf Table5.Col5 qui est bool.
Donc en fait, je souhaite afficher dans la table 5, la somme des champs d'une table.
Plus concretement :
Table5.Col0 = Somme de la ligne0 de Table0
Table5.Col1 = Somme de la ligne0 de Table1
Table5.Col2 = Somme de la ligne0 de Table2
Table5.Col3 = Somme de la ligne0 de Table3
Table5.Col4 = Somme de la ligne0 de Table4
Table5.Col5 = Si Somme (Table5.Col0 à Table5.Col4) > 50 alors true sinon false
Voilou...j'espere que j'ai bien fourni ts les renseignements qu'il te faut pour pouvoir m'aider...
Merci bcp![]()
Globalement l'idée serait que tu dérives ton propre DataSet typé qui capture l'Événement DataTable.RowChanged pour Table0 à Table4 afin de traiter la modification effectuée vers Table5
Par exemple (c'est du vite faitdonc à perfectionner)
J'espère que Table5 est elle même dérivée de DataTable afin d'automatiser ses differents calculs lors d'une modif d'une de ses colonnes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 using System; using System.Data; //... public class MyDataSet : DataSet { //...quelquepart lors de l'initialisation this.Tables["Table0"].RowChanged += new DataRowChangeEventHandler(this.RowChanged); this.Tables["Table1"].RowChanged += new DataRowChangeEventHandler(this.RowChanged); this.Tables["Table2"].RowChanged += new DataRowChangeEventHandler(this.RowChanged); this.Tables["Table3"].RowChanged += new DataRowChangeEventHandler(this.RowChanged); this.Tables["Table4"].RowChanged += new DataRowChangeEventHandler(this.RowChanged); //... public void RowChanged(object sender, DataRowChangeEventArgs e) { //... par exemple if (e.Action == DataRowAction.Change) { string tableName = ((DataTable) sender).TableName; DataRow dr = e.Row; // faire la modif necessaire vers la colonne concernée dans Table5 ... } } //... }![]()
bon j'ai pas trop reussi cette solution...
Mais j'en ai trouvé une autre :
Merci encore a vous tous pour m'avoir aider...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void Form_Load(object sender, System.EventArgs e) { this.dataSet.Tables[5].Rows.Add(new object[6]); } private void dataGrid_CurrentCellChanged(object sender, System.EventArgs e) { this.dataSet.Tables[5].Rows[0][0] = MaValeur; }
Je vous en suis tres reconnaissant...![]()
Mouais apparemment t'es pas à un bricolage près![]()
CurrentCellChanged n'a jamais voulu dire que la valeur a été modifié
Il n'est pas logique d'utilisé des affichages de l'Interface utilisateur (Datagrid) alors qu'il s'agit ici des données sousjascentes soit le DataSet en ce qui te concerne![]()
Mais bon tu sembles heureux ainsi![]()
![]()
Partager