大家好,我目前正在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)
答案 0 :(得分:0)
我没有在数据源中使用4个列,而是将所有内容放在一起,然后拆分。 后面的代码:
$ligne1.Model = "$model "+"$type " + "$port " + "$comware " + "$firmware "
然后,您可以使用split()获得可用的值。