Question Importer tableau à 2D dans listview

Plus d'informations
il y a 9 ans 11 mois #21665 par Youbou
Bonjour,

Je souhaite faire une interface en XAML dans laquelle j'aurais une listview avec plusieurs colonnes que je peuple avec un tableau à 2 dimensions en utilisant la méthode ItemsSource. La méthode fonctionne bien avec un tableau à 1 dimensions mais pas comme je le souhaiterais avec un tableau à 2 dimensions, au lieu de m'afficher les valeurs de mon tableau il affiche : Tableau de Object[]

Pour info je fais mon tableau de la manière suivante:

[code:1]$aInfo=,(\"1\",\"2\",\"3\"«»)
$aInfo+=,(\"a\",\"b\",\"c\"«»)[/code:1]

Avez vous une idée? Est ce possible d'importer un tableau 2D en utilisant ItemsSource?

Merci d'avance

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #21669 par Arnaud Petitjean
Salut,

S'il t'affiche cela, c'est qu'il ne comprends pas ce que tu lui passes. Je ne connais pas ce composant, mais il faut peut-être lui passer les valeurs une par une.

Tu pourrais poster un bout de code ?

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 11 mois #21671 par Youbou
Bonjour,

Merci pour ta réponse. En effet je dois avoir la possibilité de remplir ma listView case par case mais je souhaiterais trouver le moyen d'utiliser la méthode ItemsSource. Voici mon code

La partie XAML:

[code:1] <Window
xmlns=\"schemas.microsoft.com/winfx/2006/xaml/presentation\";
xmlns:«»x=\"schemas.microsoft.com/winfx/2006/xaml\";
Title=\"TDaRT\" Height=\"382.377\" Width=\"689.14\">
<Grid x:Name=\"GrillePrincipale\">
<Grid.RowDefinitions>
<RowDefinition Height=\"10*\"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Canvas x:Name=\"Canvas\">
<ListView x:Name=\"lvUserInfoAD\" Height=\"100\" Canvas.Left=\"27\" Canvas.Top=\"127\" Width=\"553\">
<ListView.View>
<GridView>
<GridViewColumn Header=\"First Name\" Width=\"100\"/>
<GridViewColumn Header=\"Last Name\" Width=\"100\"/>
<GridViewColumn Header=\"Name\" Width=\"100\"/>
</GridView>
</ListView.View>
</ListView>
</Canvas>
</Grid>
</Window>[/code:1]

La partie Powershell

[code:1]function LoadXAMLReader
{
param (
[string]$XAMLPath,
[string]$FormName
)
# chargement du fichier xmal en Form
[xml]$XAML = (get-content $XAMLPath -ReadCount 0) -replace \"x:Name\", \"Name\"
$reader=(New-Object System.Xml.XmlNodeReader $XAML)
$reader
try {
$Form=[Windows.Markup.XamlReader]::Load( $reader )
}
catch{
throw \"Impossible de charger Windows.Markup.XamlReader\"
}
#Creation de la variable globale accuillant la fenetre
Set-Variable -Name (\"global:\"+$FormName) -Value $Form

#Creation des variables pour les contrôles prefixés par le nom de la fenetre
$XAML.SelectNodes(\"//*[@Name]\"«») | %{Set-Variable -Name (\"global:${FormName}_\"+$_.Name) -Value $Form.FindName($_.Name)}
}



LoadXAMLReader -XAMLPath ((split-path $myinvocation.mycommand.path) + \"\form.xaml\"«») -FormName \"Main\"

$Main.add_Loaded(
{
param (
[System.Object]$sender,
[System.Windows.RoutedEventArgs]$e
)


$aInfo=,(\"1\",\"2\",\"3\"«»)
$aInfo+=,(\"a\",\"b\",\"c\"«»)

$Main_lvUserInfoAD.ItemsSource = $aInfo

}

)
$Main.ShowDialog()

[/code:1]

J'ai trouvé cet article
msdn.microsoft.com/fr-fr/library/ms750972(v=vs.110).aspx

Mes 1ers essais ne sont pas concluants mais je vais continuer à creuser cette piste

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena