Question DataGrid et DataTable
- Chiqo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 14 ans 5 mois #5485
par Chiqo
DataGrid et DataTable a été créé par Chiqo
Bonjour à tous !
Je suis confronté à un nouveau problème, c'est pourquoi je sollicite (une fois de plus) votre aide !
Alors voilà, j'ai généré une DataGrid en powershell, avec des données contenu dans une DataTable (via une requête SQL). Maintenant, je souhaiterais simplement récupérer les données de la ligne sélectionnée par un utilisateur.
Voila comment je remplis ma grid :
[code:1]
$DT = New-Object System.Data.DataTable
#remplissage des columns
$DG.DataSource = $DT.psObject.baseobject
[/code:1]
J'imagine qu'il faut faire un truc du genre :
[code:1]
$DG.Add_DoubleClick({
$DG.GetSelectedValue()
})
[/code:1]
(Je me rappel plus du nom des méthodes testées, j'avais plusieurs tests sans succès :/)
J'avais aussi testé une méthode \"GetDataBinding\" ou une méthode se rapprochant de cela, mais sans succès également...
J'imagine que c'est un \"classique\" pour les développeurs .NET.
Merci de votre aide
Je suis confronté à un nouveau problème, c'est pourquoi je sollicite (une fois de plus) votre aide !
Alors voilà, j'ai généré une DataGrid en powershell, avec des données contenu dans une DataTable (via une requête SQL). Maintenant, je souhaiterais simplement récupérer les données de la ligne sélectionnée par un utilisateur.
Voila comment je remplis ma grid :
[code:1]
$DT = New-Object System.Data.DataTable
#remplissage des columns
$DG.DataSource = $DT.psObject.baseobject
[/code:1]
J'imagine qu'il faut faire un truc du genre :
[code:1]
$DG.Add_DoubleClick({
$DG.GetSelectedValue()
})
[/code:1]
(Je me rappel plus du nom des méthodes testées, j'avais plusieurs tests sans succès :/)
J'avais aussi testé une méthode \"GetDataBinding\" ou une méthode se rapprochant de cela, mais sans succès également...
J'imagine que c'est un \"classique\" pour les développeurs .NET.
Merci de votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 14 ans 5 mois #5486
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:DataGrid et DataTable
Chiqo écrit:
C'est dans les données transmisent au gestionnaire d'événement qu'il faut aller chercher l'info, un exemple :
[code:1]
private void DtGrdVwCSV_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
DataTable table = (DataTable)DtGrdVwCSV.DataSource;
DataRow row = table.Rows[e.RowIndex];
using (FrmDetail Detail = new FrmDetail(this,row,false))
{
row.BeginEdit();
if (Detail.ShowDialog() == DialogResult.OK)
{ table.AcceptChanges(); }
else
{ row.CancelEdit(); }
}
}
[/code:1]
Donc sous PowerShell, le paramètre e est égale à $_.
Un exemple .<br><br>Message édité par: Laurent Dardenne, à: 14/10/09 20:02
Oui, mais pas que.J'imagine que c'est un \"classique\" pour les développeurs .NET.
C'est dans les données transmisent au gestionnaire d'événement qu'il faut aller chercher l'info, un exemple :
[code:1]
private void DtGrdVwCSV_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
DataTable table = (DataTable)DtGrdVwCSV.DataSource;
DataRow row = table.Rows[e.RowIndex];
using (FrmDetail Detail = new FrmDetail(this,row,false))
{
row.BeginEdit();
if (Detail.ShowDialog() == DialogResult.OK)
{ table.AcceptChanges(); }
else
{ row.CancelEdit(); }
}
}
[/code:1]
Donc sous PowerShell, le paramètre e est égale à $_.
Un exemple .<br><br>Message édité par: Laurent Dardenne, à: 14/10/09 20:02
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Chiqo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 14 ans 5 mois #5490
par Chiqo
Réponse de Chiqo sur le sujet Re:DataGrid et DataTable
Encore une fois, merci pour aide.
J'ai mis un peu de temps en lisant le code de MOW, avant de lancer un
[code:1]Get-Alias %[/code:1]
pour comprendre et me mettre sur la bonne piste.
Pour info, la ligne qu'il faut :
[code:1]$script:dgs[$i].Add_DoubleClick({$this.SelectedRows | ForEach-Object {Write-Host $_.DataboundItem.Row.item(\"ID\"«»)}[/code:1]
Pour le gestionnarie d'évènement, si j'ai bien compris, les seules données qui lui sont transmises le sont via un objet de type MouseEventArgs (type obtenu par un $_.GetType()). Cet objet ne contient pas grand chose (coordonnées de la souris, etc...et pas la ligne sélectionnée) :
msdn.microsoft.com/fr-fr/library/system....operties(VS.80).aspx
Enfin mon problème est résolu, merci beaucoup
*edit* pas trouvé comment marqué en \"résolu\" <br><br>Message édité par: Chiqo, à: 15/10/09 10:30
J'ai mis un peu de temps en lisant le code de MOW, avant de lancer un
[code:1]Get-Alias %[/code:1]
pour comprendre et me mettre sur la bonne piste.
Pour info, la ligne qu'il faut :
[code:1]$script:dgs[$i].Add_DoubleClick({$this.SelectedRows | ForEach-Object {Write-Host $_.DataboundItem.Row.item(\"ID\"«»)}[/code:1]
Pour le gestionnarie d'évènement, si j'ai bien compris, les seules données qui lui sont transmises le sont via un objet de type MouseEventArgs (type obtenu par un $_.GetType()). Cet objet ne contient pas grand chose (coordonnées de la souris, etc...et pas la ligne sélectionnée) :
msdn.microsoft.com/fr-fr/library/system....operties(VS.80).aspx
Enfin mon problème est résolu, merci beaucoup
*edit* pas trouvé comment marqué en \"résolu\" <br><br>Message édité par: Chiqo, à: 15/10/09 10:30
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 14 ans 5 mois #5496
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:DataGrid et DataTable
Chiqo écrit:
Chiqo écrit:
Chiqo écrit:
Oui, cela dépend de la signature du délégué, selon les besoins ils peuvent utiliser une instance d'une classe dérivée de EventArgs.Pour le gestionnarie d'évènement, si j'ai bien compris, les seules données qui lui sont transmises le sont via un objet de type MouseEventArgs
Chiqo écrit:
Il contient des infos propres à l'événement demandé, le choix de l'événement à ici son importance, ensuite l'objet peux proposer des méthodes de translation de coordonnées graphiques en ligne,colonne...Cet objet ne contient pas grand chose (coordonnées de la souris, etc...et pas la ligne sélectionnée)
Chiqo écrit:
En modifiant le titre.*edit* pas trouvé comment marqué en \"résolu\"
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.093 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- DataGrid et DataTable