none
Array in eine GUI mit DataGridView anzeigen RRS feed

  • Frage

  • Hi Leute ,

    ich habe einkleines Problem. Ich möchte die Mitglieder einer Gruppe in einem kleinen Fenster mit DataGridView anzeigen. Dazu habe ich folgendes kleines Testscript:

    #Test Grid
    [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
    [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
    
    $form =new-object System.Windows.Forms.Form
    $form.Size = new-object System.Drawing.Size 400,500
    $Form.Text = "TestGrid"
    
    $DataGridView = new-object System.windows.forms.DataGridView
    
    $array = new-object System.Collections.ArrayList
    
    $data = @(( Get-ADGroup GOWA -Properties member | write-output ).member)
    $array.AddRange($data)
    $DataGridView.DataSource = $array
    $DataGridView.Dock = [System.Windows.Forms.DockStyle]::Fill
    $DataGridView.AllowUsertoResizeColumns=$True
    
    $form.Controls.add($DataGridView)
    $form.topmost = $True
    $form.showdialog()

    Leider wird mir nur die Länge der einzelnen Array Einträge angezeigt, aber nicht die Mitglieder.


    Wer kann mir da weiterhelfen?

    Gruß

    Dirk

    • Typ geändert Alex Pitulice Donnerstag, 9. Mai 2013 07:34 Warten auf Feedback
    • Typ geändert Alex Pitulice Mittwoch, 15. Mai 2013 12:36 Noch Aktiv
    Montag, 6. Mai 2013 12:39

Antworten

  • hi Dirk,

    ich weis nicht was du genau im Grid haben willst. Aber das sollte dir zumindest mal mehr liefern:

    #Test Grid
    [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
    [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
    
    $form =new-object System.Windows.Forms.Form
    $form.Size = new-object System.Drawing.Size 400,500
    $Form.Text = "TestGrid"
    
    $DataGridView = new-object System.windows.forms.DataGridView
    
    $array = new-object System.Collections.ArrayList
    $array.AddRange(@($(Get-ADGroupMember GOWA)))
    
    $DataGridView.DataSource = $array
    $DataGridView.Dock = [System.Windows.Forms.DockStyle]::Fill
    $DataGridView.AllowUsertoResizeColumns=$True
    
    $form.Controls.add($DataGridView)
    $form.topmost = $True
    $form.showdialog()

    Der Fehler im ursprünglichen Script kommt wahrscheinlich daher, das Length die einzeigst Propety ist die ein string enthält.

    Gruß Malte

    • Als Antwort markiert Alex Pitulice Mittwoch, 15. Mai 2013 12:37
    Mittwoch, 8. Mai 2013 21:04
  • Hi Malte,

    ia das war es. Ich hatte nur den String in das Array gefüllt und dann hat er auch nur die Länge angezeigt.

    Gruß

    Dirk

    P.S. Sorry für die späte Antwort, aber ich hatte Probleme die Antwort abzusenden, blieb immer gelb!

    • Als Antwort markiert Alex Pitulice Mittwoch, 15. Mai 2013 12:37
    Dienstag, 14. Mai 2013 12:56

Alle Antworten

  • Hallo Dirk,

    Was hältst du von 

    Get-ADGroup GOWA -Properties member | Out-GridView
    ?
    Viele Grüße,

    Philipp Halbedel

    MCP 2003,MCITP EA Server 2008,MCITP EA Windows 7,MCSA2008,MCSA2012 

    Meine Antwort war hilfreich? ich freu mich über eine Bewertung. If my answer was helpful, I'm glad about a rating! 

    I do not represent the organisation I work for, all the opinions expressed here are my own.


    Montag, 6. Mai 2013 13:14
  • Hallo Philipp,jetzt werden die Mitglieder der Gruppe angezeigt, aber in einem neuen eigenständigen Grid. Ich möchte die Mitglieder aber in einem eigenem Grid anzeigen um diese weiter zu verarbeiten, z.B. Kontext wegschneiden, Anzahl der Mitglieder anzeigen oder einen export in eine Datei anbieten.

    Ich verstehe nicht , wieso die Mitglieder nicht in meinem Grid angezeigt werden.

    Gruß

    Dirk

    Dienstag, 7. Mai 2013 05:52
  • Hi Dirk,

    probier es bitte mit folgendem CMDlet:

    $data=@( Get-ADGroupMember -Identity "Domänen-Benutzer" | write-output)

    Dienstag, 7. Mai 2013 09:53
  • hi Dirk,

    ich weis nicht was du genau im Grid haben willst. Aber das sollte dir zumindest mal mehr liefern:

    #Test Grid
    [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null
    [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null
    
    $form =new-object System.Windows.Forms.Form
    $form.Size = new-object System.Drawing.Size 400,500
    $Form.Text = "TestGrid"
    
    $DataGridView = new-object System.windows.forms.DataGridView
    
    $array = new-object System.Collections.ArrayList
    $array.AddRange(@($(Get-ADGroupMember GOWA)))
    
    $DataGridView.DataSource = $array
    $DataGridView.Dock = [System.Windows.Forms.DockStyle]::Fill
    $DataGridView.AllowUsertoResizeColumns=$True
    
    $form.Controls.add($DataGridView)
    $form.topmost = $True
    $form.showdialog()

    Der Fehler im ursprünglichen Script kommt wahrscheinlich daher, das Length die einzeigst Propety ist die ein string enthält.

    Gruß Malte

    • Als Antwort markiert Alex Pitulice Mittwoch, 15. Mai 2013 12:37
    Mittwoch, 8. Mai 2013 21:04
  • Hi Malte,

    ia das war es. Ich hatte nur den String in das Array gefüllt und dann hat er auch nur die Länge angezeigt.

    Gruß

    Dirk

    P.S. Sorry für die späte Antwort, aber ich hatte Probleme die Antwort abzusenden, blieb immer gelb!

    • Als Antwort markiert Alex Pitulice Mittwoch, 15. Mai 2013 12:37
    Dienstag, 14. Mai 2013 12:56