0c1f300d-d098-42f4-b730-8790940cd5b2
iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAB4ESURBVHhe7d3pe57lfefh/gnzqvNiZo7pHNNm
Gpo2zWb2NQv7bkho0knThDRHm0lo0jShado0bQMNgQQMBIPBkLAYjHfj3bI2a19syZYteZFteV/x
KluS/ZvrviUb0xowBmYM1/k5elbbs8jOi+v7PHosfkuSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS
JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS
JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS
JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS
JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS
JEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmS
JEmSJEmSJEmSJEmSJEmSJEmSJEmSJElnXd+94IILJo559ImJjzw6buKYR54AAN6HHh07fuJP7/nZ
xP/82789ceSMf+NGjRo1e3ZlYyzbsDc61u2Opb27AID3oY51e6Jr47546FdPxsgx/8Y9kh75d23c
H5XtawCAEVVL1p6R/1/XrRr5vms6N0Trig1vPQAeG/vUxBVpLVQv7Y2apLZj3Rsqvl5TvAWAD6p0
1i3uXBeVbWtiYXNPVLSsOi0Lm1el66yOumXry8P47Vy3Il13UevqdL/rozod5m/ruiOOn9WLl22I
pmW9bz0AHn1sXDkAij/0icN+6Zr0Nh32y3ZE9fLdUbt8V9Smb+rE1wHgA6ouHaALmrpjyryWmLGo
PaZXnJ4ZydQFLTGrdllMW9B64rrF21eqO2NG5dLXKT930u1PnZ+uW7PsxG0df/tKVUfMTMq3xfVO
ev/EddP9vVLdUX7vdcv7Tn8ArNy0vzzgi9VQ09oVte09Ud3UGY2zfxJN0/8yaqb+bVQ3NKevb0w3
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
MgAAIEMGAABkyAAAgAwZAACQIQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCED
AAAyZAAAQIYMAADIkAEAABkyAAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAA
IEMGAABkyAAAgAwZAACQIQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAy
ZAAAQIYMAADIkAEAABkyAAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAAIEMG
AABkyAAAgAwZAACQIQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAyZAAA
QIYMAADIkAEAABkyAAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAAIEMGAABk
yAAAgAwZAACQIQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAyZAAAQIYM
AADIkAEAABkyAAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAAIEMGAABkyAAA
gAwZAACQIQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAyZAAAQIYMAADI
kAEAABkyAAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAAIEMGAABkyAAAgAwZ
AACQIQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAyZAAAQIYMAADIkAEA
ABkyAAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAAIEMGAABkyAAAgAwZAACQ
IQMAADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAyZAAAQIYMAADIkAEAABky
AAAgQwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZMgAAIEMGAABkyAAAgAwZAACQIQMA
ADJkAABAhgwAAMiQAQAAGTIAACBDBgAAZMgAAIAMGQAAkCEDAAAyZAAAQIYMAADIkAEAABkyAAAg
QwYAAGTIAACADBkAAJAhAwAAMmQAAECGDAAAyJABAAAZekcDYO2uoXj+5enx8JgHY8KEF8obAwDO
fuPHj4/6+rozGwA92w5HRU1jVFVWRHNzU7kkAICzX31dXaxZvSo27jr89gdAV9/e6N1+KDa/OpgW
xJFyRQAAZ7/NSV86/Ls37Yuerf2nNwDGjntm4s4jUV6hOymWAwDw/lOc5Wt2DkV33+63HgAPPDBm
1uY9w08XAADvb919e2JZT99bDwBJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ
kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ
kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ
kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ
kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ
kiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJkiRJ
kiRJkiRJkiRJkiT9P+y3fuv/AvGKHFZIt07dAAAAAElFTkSuQmCC
Segoe UI, 10.2pt, style=Bold
iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAOzSURBVGhD7ZrrSxRRFMD7t3zkc9d95K6uPaAi
pKRPfYiiPhRIQVEIfQlCzZaUypQsLdMsQ/JVkb3M0izSNF8FoZk9DKrTnK1ZtvXMzL1378wO4374
fXL2XH/MuXPmnDtrcivTYDWREnY6KWGnkxJmwXM6HWr73XD5oYebsoa1ZEyrEL7Dm89lwqvJAMCX
Ei5+LIbgxO18MqYVJJTSeKfbnnpJMSM6h3zgq0kn45qJlD1c0ZkfuXOUmB4TM0HYftHaFJf20NrZ
mAWzc0WkmB7Ln0JQcSuPjGkG0oSRYDgD7o36STEjOp75wKtsESquTKQKI3kK4T43/F6ixfQYnw5C
ab25KS5dWGVfSw4sfCwmxfT4rqT4sZvmpbhpwsimukwYmeAvXQg+/bEKUHETQYrwqTsuqLtbQFJ/
vwBaHnlIKSPeTAVg2wW5KS5F+P0H/aczXnO0Iy/yRKb+rsc35TdHbshLccuEEay5U7NB8hojWp94
oUBCilsqjKw7kw69I2Kl6/W7AGw9n/lfPF4sF0awdFV2u+CXQOn6uhCCw+25K2KykhRhld1XsmFe
oHQhzcqD0F3Nn+JJFUbW12bA0Hgh+TsjRpWSt0Xp2qi4WiRdGHFVpcGlAbHStTRfDOVt7CluC2GV
Q8rexDJExTAChwvuajpuLJrCmGrUi0Qspf/ee1mFsSui4sTS9cJHxmABGxejfa0pjO0eFTSW8ut/
U4lVeHBMbK/ygHdaXY/CccJY6krOZkTXjMdxwohenXakcHWPK7pmPI4UPtmlPRV1pHBZQ1Z0zXgc
J9w97I+uR+EoYYyP3Zi6HoWmMA+swkbg1LJ9UGywf+2xl6mZsI0wjnLGpvjnX8uLITjOMde2hTDW
TZF36Jm5It0HFEVShTEFRQd8/S/9EAhrv1FpkTRh7GOxn6Wu1wMH/DW97sjUhIprRFKED7bmwmel
j6Wu1QMH+3ubs1fE48FSYWz0Gx+IpTAO9HGwH7uuCJYJb1D+2eeCo5wWxpLDgiXC+6+KnTPh4F72
OZMlwiInidNzQVO+B7FEmBcsOYVhOSkcj62EEy05LNhGGPf4ngRLDgu2EB5+WwgbJZQcFqQI49c4
lAgLokcmokgRFjkqwZKDZ8ZUPDORIszbAOAZ8Q6Lv89SkSK8q8l4OqLSN+I3nEqYiRRhBE/oKUGV
n0rJqepxmVpyWJAmnK80Bk0DnhWH3CiKZz68jbpZSBNWwUO4A605kQEfHniLNOlmIl3Y7qSEnU5K
2OmsMuE0+AP+4vHGG0OQCQAAAABJRU5ErkJggg==
TopCenter
None
Magenta
toolstripbutton1
157, 87
Launch Grid Form
ImageAboveText
toolstripbutton1_Click
#----------------------------------------------
#region Application Functions
#----------------------------------------------
#endregion Application Functions
#----------------------------------------------
# Generated Form Function
#----------------------------------------------
function Show-Demo-DGVExport3_psf {
#----------------------------------------------
#region Import the Assemblies
#----------------------------------------------
[void][reflection.assembly]::Load('System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
[void][reflection.assembly]::Load('System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')
[void][reflection.assembly]::Load('System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a')
#endregion Import Assemblies
#----------------------------------------------
#region Generated Form Objects
#----------------------------------------------
[System.Windows.Forms.Application]::EnableVisualStyles()
$formLaunchGridForm = New-Object 'System.Windows.Forms.Form'
$buttonLoadData = New-Object 'System.Windows.Forms.Button'
$buttonExportCsv = New-Object 'System.Windows.Forms.Button'
$datagridview1 = New-Object 'System.Windows.Forms.DataGridView'
$buttonOK = New-Object 'System.Windows.Forms.Button'
$savefiledialog1 = New-Object 'System.Windows.Forms.SaveFileDialog'
$InitialFormWindowState = New-Object 'System.Windows.Forms.FormWindowState'
#endregion Generated Form Objects
#----------------------------------------------
# User Generated Script
#----------------------------------------------
$FormEvent_Load = {
}
$buttonExportCsv_Click = {
$savefiledialog1 = New-Object System.Windows.Forms.SaveFileDialog
$savefiledialog1.AddExtension = 'csv'
if ('Ok' -eq $savefiledialog1.ShowDialog()) {
$FilePath = Select-Folder -Description 'Select Billing Invoice ROOT folder' -RootFolder Desktop
$datagridview1.SelectedRows |
Select-Object -ExpandProperty DataBoundItem |
Export-csv "$FilePath\Results.csv" -NoTypeInformation
}
}
$buttonLoadData_Click = {
$data = Get-ChildItem c:\windows -File | Select-Object name, length, fullname
$this.parent.Controls['datagridview1'].DataSource = ConvertTo-DataTable $data
}
# --End User Generated Script--
#----------------------------------------------
#region Generated Events
#----------------------------------------------
$Form_StateCorrection_Load =
{
#Correct the initial state of the form to prevent the .Net maximized form issue
#$form1.WindowState = $InitialFormWindowState
}
$Form_Cleanup_FormClosed =
{
#Remove all event handlers from the controls
try {
$buttonLoadData.remove_Click($buttonLoadData_Click)
$buttonExportCsv.remove_Click($buttonExportCsv_Click)
$datagridview1.remove_RowPostPaint($datagridview1_RowPostPaint)
$formLaunchGridForm.remove_Load($FormEvent_Load)
$formLaunchGridForm.remove_Load($Form_StateCorrection_Load)
$formLaunchGridForm.remove_FormClosed($Form_Cleanup_FormClosed)
} catch { Out-Null <# Prevent PSScriptAnalyzer warning #> }
}
#endregion Generated Events
#----------------------------------------------
#region Generated Form Code
#----------------------------------------------
$formLaunchGridForm.SuspendLayout()
$datagridview1.BeginInit()
#
# form1
#
$formLaunchGridForm.Controls.Add($buttonLoadData)
$formLaunchGridForm.Controls.Add($buttonExportCsv)
$formLaunchGridForm.Controls.Add($datagridview1)
$formLaunchGridForm.Controls.Add($buttonOK)
$formLaunchGridForm.AcceptButton = $buttonOK
$formLaunchGridForm.AutoScaleDimensions = '8, 17'
$formLaunchGridForm.AutoScaleMode = 'Font'
$formLaunchGridForm.ClientSize = '973, 551'
#$form1.FormBorderStyle = 'FixedDialog'
$formLaunchGridForm.KeyPreview = $True
$formLaunchGridForm.Margin = '5, 5, 5, 5'
$formLaunchGridForm.MaximizeBox = $False
$formLaunchGridForm.MinimizeBox = $False
$formLaunchGridForm.Name = 'form1'
#$formLaunchGridForm.StartPosition = 'CenterScreen'
$formLaunchGridForm.Text = 'Form'
$formLaunchGridForm.add_Load($FormEvent_Load)
#
# buttonLoadData
#
$buttonLoadData.Location = '857, 54'
$buttonLoadData.Margin = '4, 4, 4, 4'
$buttonLoadData.Name = 'buttonLoadData'
$buttonLoadData.Size = '100, 30'
$buttonLoadData.TabIndex = 3
$buttonLoadData.Text = 'Load Data'
$buttonLoadData.UseCompatibleTextRendering = $True
$buttonLoadData.UseVisualStyleBackColor = $True
$buttonLoadData.add_Click($buttonLoadData_Click)
#
# buttonExportCsv
#
$buttonExportCsv.Location = '857, 16'
$buttonExportCsv.Margin = '4, 4, 4, 4'
$buttonExportCsv.Name = 'buttonExportCsv'
$buttonExportCsv.Size = '100, 30'
$buttonExportCsv.TabIndex = 2
$buttonExportCsv.Text = 'Export Csv'
$buttonExportCsv.UseCompatibleTextRendering = $True
$buttonExportCsv.UseVisualStyleBackColor = $True
$buttonExportCsv.add_Click($buttonExportCsv_Click)
#
# datagridview1
#
$datagridview1.AutoSizeColumnsMode = 'DisplayedCells'
$datagridview1.ColumnHeadersHeightSizeMode = 'AutoSize'
$datagridview1.Location = '28, 16'
$datagridview1.Margin = '4, 4, 4, 4'
$datagridview1.Name = 'datagridview1'
$System_Windows_Forms_DataGridViewCellStyle_1 = New-Object 'System.Windows.Forms.DataGridViewCellStyle'
$System_Windows_Forms_DataGridViewCellStyle_1.Alignment = 'MiddleRight'
$System_Windows_Forms_DataGridViewCellStyle_1.BackColor = 'Control'
$System_Windows_Forms_DataGridViewCellStyle_1.Font = 'Microsoft Sans Serif, 8.25pt'
$System_Windows_Forms_DataGridViewCellStyle_1.ForeColor = 'WindowText'
$System_Windows_Forms_DataGridViewCellStyle_1.Format = 'N0'
$System_Windows_Forms_DataGridViewCellStyle_1.NullValue = '0'
$System_Windows_Forms_DataGridViewCellStyle_1.SelectionBackColor = 'LightSteelBlue'
$System_Windows_Forms_DataGridViewCellStyle_1.SelectionForeColor = 'HighlightText'
$System_Windows_Forms_DataGridViewCellStyle_1.WrapMode = 'False'
$datagridview1.RowHeadersDefaultCellStyle = $System_Windows_Forms_DataGridViewCellStyle_1
$datagridview1.RowHeadersWidthSizeMode = 'AutoSizeToAllHeaders'
$datagridview1.RowTemplate.Height = 24
$datagridview1.SelectionMode = 'FullRowSelect'
$datagridview1.ShowCellToolTips = $False
$datagridview1.Size = '801, 437'
$datagridview1.TabIndex = 1
#
# buttonOK
#
$buttonOK.Anchor = 'Bottom, Right'
$buttonOK.DialogResult = 'OK'
$buttonOK.Location = '857, 505'
$buttonOK.Margin = '4, 4, 4, 4'
$buttonOK.Name = 'buttonOK'
$buttonOK.Size = '100, 30'
$buttonOK.TabIndex = 0
$buttonOK.Text = 'OK'
$buttonOK.UseCompatibleTextRendering = $True
$buttonOK.UseVisualStyleBackColor = $True
$buttonOK.add_click({$this.Parent.Close()})
#
# savefiledialog1
#
$savefiledialog1.DefaultExt = 'xml'
$savefiledialog1.Filter = 'CSV Files|*.csv'
$datagridview1.EndInit()
$formLaunchGridForm.ResumeLayout()
#endregion Generated Form Code
#----------------------------------------------
#Save the initial state of the form
$InitialFormWindowState = $form1.WindowState
#Init the OnLoad event to correct the initial state of the form
$formLaunchGridForm.add_Load($Form_StateCorrection_Load)
#Clean up the control events
$formLaunchGridForm.add_FormClosed($Form_Cleanup_FormClosed)
#Show the Form
$formLaunchGridForm |Add-Member -MemberType ScriptMethod -Name LoadGrid -Value{
$data = Get-ChildItem c:\windows -File | Select-Object name, length, fullname
#$data = Import-CSv
$ds = D:\scripts\ConvertTo-DataTable.ps1 $data
Write-Host $formLaunchGridForm.Name
$datagridview1.DataSource = $ds
}
return $formLaunchGridForm
} #End Function
$formLaunchGridForm_Load={
}
$toolstripbutton1_Click={
# the followin is how to edit and reload a form.
<# if(-not $script:childForm){
$f = Get-Item Function:\Show-Demo-DGVExport3_psf
$txt = $f.Definition -replace 'return \$form1.ShowDialog\(\)', 'return $form1'
$script:childForm = [System.Windows.Forms.Form]([scriptblock]::Create($txt).Invoke())[0]
$script:childForm.MdiParent = $form1
}
#>
$childForm = Show-Demo-DGVExport3_psf
$childForm.MdiParent = $formLaunchGridForm
$childForm.Show()
}
#region Control Helper Functions
function ConvertTo-DataTable {
<#
.SYNOPSIS
Converts objects into a DataTable.
.DESCRIPTION
Converts objects into a DataTable, which are used for DataBinding.
.PARAMETER InputObject
The input to convert into a DataTable.
.PARAMETER Table
The DataTable you wish to load the input into.
.PARAMETER RetainColumns
This switch tells the function to keep the DataTable's existing columns.
.PARAMETER FilterWMIProperties
This switch removes WMI properties that start with an underline.
.EXAMPLE
$DataTable = ConvertTo-DataTable -InputObject (Get-Process)
#>
[OutputType([System.Data.DataTable])]
param (
[ValidateNotNull()]
$InputObject,
[ValidateNotNull()]
[System.Data.DataTable]$Table,
[switch]$RetainColumns,
[switch]$FilterWMIProperties)
if ($null -eq $Table) {
$Table = New-Object System.Data.DataTable
}
if ($InputObject -is [System.Data.DataTable]) {
$Table = $InputObject
} elseif ($InputObject -is [System.Data.DataSet] -and $InputObject.Tables.Count -gt 0) {
$Table = $InputObject.Tables[0]
} else {
if (-not $RetainColumns -or $Table.Columns.Count -eq 0) {
#Clear out the Table Contents
$Table.Clear()
if ($null -eq $InputObject) { return } #Empty Data
$object = $null
#find the first non null value
foreach ($item in $InputObject) {
if ($null -ne $item) {
$object = $item
break
}
}
if ($null -eq $object) { return } #All null then empty
#Get all the properties in order to create the columns
foreach ($prop in $object.PSObject.Get_Properties()) {
if (-not $FilterWMIProperties -or -not $prop.Name.StartsWith('__')) #filter out WMI properties
{
#Get the type from the Definition string
$type = $null
if ($null -ne $prop.Value) {
try { $type = $prop.Value.GetType() } catch { Out-Null }
}
if ($null -ne $type) # -and [System.Type]::GetTypeCode($type) -ne 'Object')
{
[void]$table.Columns.Add($prop.Name, $type)
} else #Type info not found
{
[void]$table.Columns.Add($prop.Name)
}
}
}
if ($object -is [System.Data.DataRow]) {
foreach ($item in $InputObject) {
$Table.Rows.Add($item)
}
return @( ,$Table)
}
} else {
$Table.Rows.Clear()
}
foreach ($item in $InputObject) {
$row = $table.NewRow()
if ($item) {
foreach ($prop in $item.PSObject.Get_Properties()) {
if ($table.Columns.Contains($prop.Name)) {
$row.Item($prop.Name) = $prop.Value
}
}
}
[void]$table.Rows.Add($row)
}
}
return @( ,$Table)
}
#endregion
]]>
0
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089