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) }