PowerShell - форматирование данных в таблицу внутри формы DataGridView - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу отформатировать данные для отображения внутри системы. windows .forms.datagridview. Прямо сейчас данные без таблицы отображаются, но таблица слишком широка; но я хотел бы иметь [datetime] $ msg.pubdate в первом столбце и во втором столбце, чтобы объединить два других столбца «Заголовок», «$ msg.link.innertext» и «$ commentsplain», чтобы быть в один ряд. Строка должна показывать только заголовок; однако, если конечный пользователь хочет прочитать, можно добавить опцию, чтобы развернуть строку и прочитать все содержимое. Это то, что я имею до сих пор.

$outputBox040 = Invoke-WebRequest -Uri 'https://*.rss' -OutFile C:\*.rss
[xml]$Content = Get-Content C:\*.rss
 $Feed = $Content.rss.channel
 $url = foreach ($msg in $Feed.item){
$commentsPlain = $msg.description.InnerText -replace '<br ?/?>',
[System.Environment]::NewLine -replace '<[^>]+>'
[PSCustomObject]@{
'LastUpdated' = [datetime]$msg.pubDate
 'Title' = $msg.title
 'Link' = $msg.link.InnerText
'Comments' = $commentsPlain
}}

$list = New-Object System.collections.ArrayList
$list.AddRange(@($url))
$outputbox040 = New-Object System.Windows.Forms.DataGridView -Property @{
    Size=New-Object System.Drawing.Size(643,205)
    Location = New-Object System.Drawing.Size(30,25)
    ColumnHeadersVisible = $true
    AutoSizeColumnsMode = 'DisplayedCells'
    AutoSizeRowsMode = 'AllCellsExceptHeaders'
    RowHeadersVisible = $false
    DataSource = $list
}
$AlertsPage.Controls.Add($outputBox040)
...