通过Combobox Powershell获取更多选择信息

时间:2018-10-10 08:12:14

标签: powershell user-interface powershell-v3.0

大家好,我目前正在Powershell中编写IHM以配置交换机。我正在使用组合框来选择模型。 combobx是使用数据源生成的数据视图生成的,而数据源是由foreach从csv文件生成的。

我的问题如下:我只能恢复单个列。

组合框:

$list1 = New-Object System.Windows.Forms.Combobox
$list1.Location = New-Object Drawing.Point 9,45
$list1.Size = New-Object System.Drawing.Size(250,30)
$list1.DropDownStyle = "DropDownList"
$list1.BindingContext = New-Object System.Windows.Forms.BindingContext
$list1.DataSource = $vu1
$list1.ValueMember = "Model"
$list1.DisplayMember = "Model"  
$list1.SelectedValue = ""   
$mainfrm.controls.add($list1)

阅读信息

Write-Host "$list1.SelectedValue" 

编辑foreach和创建数据视图

foreach:

$ImportData = import-csv "E:\PS\A faire\equipement.csv" -Delimiter ';' | Select Model,Type,Port,Firmware,Comware
$table1 = New-Object system.Data.DataTable
$colonne1 = New-Object system.Data.DataColumn Model,([string])
$table1.columns.add($colonne1)
$colonne2 = New-Object system.Data.DataColumn Port,([string])
$table1.columns.add($colonne2)
$colonne3 = New-Object system.Data.DataColumn Comware,([string])
$table1.columns.add($colonne3)
$colonne4 = New-Object system.Data.DataColumn Firmware,([string])
$table1.columns.add($colonne4)
foreach ($data in $ImportData)
{
 $model = $data.Model
 $type = $data.Type
 $port = $data.Port
 $firmware = $data.Firmware
 $comware= $data.Comware
 $ligne1 = $table1.NewRow()
 $ligne1.Model = "$model "+"$type"
 $ligne1.Port = "$port"
 $ligne1.Comware = "$comware"
 $ligne1.Firmware = "$firmware"
 $table1.Rows.Add($ligne1)
}

数据视图

$vu1 = New-Object System.Data.DataView($table1)

1 个答案:

答案 0 :(得分:0)

我没有在数据源中使用4个列,而是将所有内容放在一起,然后拆分。 后面的代码:

$ligne1.Model = "$model "+"$type " + "$port " + "$comware " + "$firmware "

然后,您可以使用split()获得可用的值。