Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell数据表以错误的顺序显示标题_Powershell_Visual Studio 2019 - Fatal编程技术网

Powershell数据表以错误的顺序显示标题

Powershell数据表以错误的顺序显示标题,powershell,visual-studio-2019,Powershell,Visual Studio 2019,当我将csv导入GUI时,标题被导入到错误的顺序中。有什么想法吗 代码如下 #### Load Data Table Into Gridview $button2_Click = { $data= Import-CSV "E:\testGui\_stock_processed2.csv" $dt = new-object System.Data.DataTable $columns = $data | Get-Member -MemberType NoteProper

当我将csv导入GUI时,标题被导入到错误的顺序中。有什么想法吗

代码如下

#### Load Data Table Into Gridview
$button2_Click = {

$data= Import-CSV "E:\testGui\_stock_processed2.csv" 

$dt = new-object System.Data.DataTable

$columns = $data | Get-Member -MemberType NoteProperty | select -ExpandProperty name | 
$columns | %{
 [void]$dt.columns.add($_)
}
$data | %{
 $currentRow = $_
 
 $dr = $dt.NewRow()
 $columns | %{
  $dr.$_ = $currentRow.$_ 
 }
 $dt.Rows.Add($dr)
}

$DataGridview1.DataSource = $dt
}
请参阅正确的
.CSV
标题

以及GUI显示的输出


似乎在导入时,标题按字母顺序排列

获取成员
格式化输出按
成员类型
然后按
名称
对成员进行排序。如果需要基于输入对象顺序的属性列表,则可以使用
PSObject.Properties
子属性

$data.PSObject.Properties | Foreach-Object {
    [void]$dt.Columns.Add($_.Name)
}

Get Member
格式化输出按
MemberType
然后按
Name
对成员排序。如果需要基于输入对象顺序的属性列表,则可以使用
PSObject.Properties
子属性

$data.PSObject.Properties | Foreach-Object {
    [void]$dt.Columns.Add($_.Name)
}