Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Issue with array and named properties

$
0
0

I am trying to get the value of the ApprovalNumber for the selected item in the drop down to be passed to the second function. If I use the .ValueMember property all I get back is "= ApprovalNumber". I tried using SelectedIndex but that only returned"-1".

function Get-ApprovalState {$approvalArray = New-Object system.Collections.ArrayList
	$a = ""|Select-Object ApprovalName, ApprovalNumber
	$b = ""|Select-Object ApprovalName, ApprovalNumber
	$c = ""|Select-Object ApprovalName, ApprovalNumber
	$d = ""|Select-Object ApprovalName, ApprovalNumber
	$a.ApprovalName = "Pending Approval"
	$a.ApprovalNumber = "1"
	$b.ApprovalName = "Cancelled"
	$b.ApprovalNumber = "2"
	$c.ApprovalName = "Denied"
	$c.ApprovalNumber = "3"
	$d.ApprovalName = "Approved"
	$d.ApprovalNumber = "4"
	$approvalArray = $a,$b,$c,$d
	for($i=0;$i -lt @($approvalArray).Count; $i++){
		   $cmb1.items.add( $approvalArray[$i])
	}
	$cmb1.DisplayMember = "ApprovalName"
	$cmb1.ValueMember = "ApprovalNumber"
} 
function Show-Approval {
$Status = $cmb1.SelectedItem.ValueMember
If ($Status -eq "1"){
	[Windows.Forms.MessageBox]::Show(“There are pending requests”, “$ApplicationVersion”, [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Information)
	$Requests = Get-WmiObject -Class SMS_UserApplicationRequest -Namespace root/SMS/site_$($SiteCode) -ComputerName $SiteServer | Where-Object -FilterScript {$_.CurrentState -eq "1"} | Select-Object Application,CurrentState,User
	$Array = New-Object System.Collections.ArrayList
    if ($Requests -eq $null) {
        $dataGridView1.DataSource = $null
	    $form1.refresh()
	{
	else {
		foreach ($Request in $Requests) {
            $Array.Add($Request)
        }
	    $dataGridView1.DataSource = $Array
        for ($i=0; $i -lt $dataGridView1.ColumnCount; $i++) {
	        $dataGridView1.Columns[$i].width = 150
        }
        $form1.refresh()
    }
}
else {
	[Windows.Forms.MessageBox]::Show(“There are no pending requests”, “$ApplicationVersion”, [Windows.Forms.MessageBoxButtons]::OK, [Windows.Forms.MessageBoxIcon]::Information)
}


Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>