无法将哈希表添加到数据网格
unable to add hashtable to datagrid
我不确定我做错了什么,但是根据 google 搜索,下面的代码应该可以将哈希插入到数据网格中。
数据网格根本没有任何值。
对不起,我是 Powershell 的新手,正在努力安静一段时间..
下面是我要实现的代码:
$Subs = Get-AzureRMSubscription
$counter = 1
$Hold = foreach($Sub in $Subs) {
$Entry = New-Object System.Object
$Entry | Add-Member -NotePropertyName "Sr. No" -NotePropertyValue $counter
$Entry | Add-Member -NotePropertyName "Subscription ID" -NotePropertyValue
$Sub.ID
$Entry | Add-Member -NotePropertyName "Name" -NotePropertyValue $Sub.Name
$Entry
$counter++
}
$Hold
foreach($Hashkey in $Hold.keys){
$tempno = $Hashkey.'Sr. No'
$tempid = $Hashkey.'Subscription ID'
$tempnm = $Hashkey.Name
$datagrid.Rows.Add($tempno, $tempid, $tempnm)
}
$form.Controls.Add($datagrid)
$form.showDialog()
根据 Mathias 的评论,问题是您将 $Hold
视为一个哈希表,但它不是,它实际上是一个对象集合(数组)。
我认为您只需更改即可修复您的代码:
foreach($Hashkey in $Hold.keys)
成为:
foreach($Hashkey in $Hold)
$Hold
没有 .Keys
属性 因为它不是哈希表。
我不确定我做错了什么,但是根据 google 搜索,下面的代码应该可以将哈希插入到数据网格中。 数据网格根本没有任何值。 对不起,我是 Powershell 的新手,正在努力安静一段时间..
下面是我要实现的代码:
$Subs = Get-AzureRMSubscription
$counter = 1
$Hold = foreach($Sub in $Subs) {
$Entry = New-Object System.Object
$Entry | Add-Member -NotePropertyName "Sr. No" -NotePropertyValue $counter
$Entry | Add-Member -NotePropertyName "Subscription ID" -NotePropertyValue
$Sub.ID
$Entry | Add-Member -NotePropertyName "Name" -NotePropertyValue $Sub.Name
$Entry
$counter++
}
$Hold
foreach($Hashkey in $Hold.keys){
$tempno = $Hashkey.'Sr. No'
$tempid = $Hashkey.'Subscription ID'
$tempnm = $Hashkey.Name
$datagrid.Rows.Add($tempno, $tempid, $tempnm)
}
$form.Controls.Add($datagrid)
$form.showDialog()
根据 Mathias 的评论,问题是您将 $Hold
视为一个哈希表,但它不是,它实际上是一个对象集合(数组)。
我认为您只需更改即可修复您的代码:
foreach($Hashkey in $Hold.keys)
成为:
foreach($Hashkey in $Hold)
$Hold
没有 .Keys
属性 因为它不是哈希表。