I Need to set the Datasource because its Way easier to Search in a DataGrid and I need the Search fonctionnality to work.
So im loading a WMI Object Based on SCCM
In which there is a String that is the image of the Program.
its a String and Normaly I would use [System.Convert]::FromBase64String($item) To Convert the Value
But Since I use datasource I really have no Idea how to modify the Column type of the DatagridView and Also how to Convert the value in the Datasource
Here is the code that I have as of right now
- $CCMApplications = get-wmiobject -computername $Computername -query "SELECT * FROM CCM_Application where ApplicabilityState = 'Applicable'" -namespace "ROOT\ccm\clientsdk" | select icon, name, Publisher, SoftwareVersion, installstate
- $Data = ConvertTo-DataTable $CCMApplications
- foreach ($item in $Data.icon)
- {
- $Icon = [System.Convert]::FromBase64String($item)
- $item = $Icon
- }
- $datagridviewApplications.AutoGenerateColumns = $false
- $datagridviewApplications.Columns.Add("ColumnAppIcon", "")
- $datagridviewApplications.Columns["ColumnAppIcon"].DataPropertyName = "icon"
- $datagridviewApplications.Columns.Add("ColumnAppName", "Name")
- $datagridviewApplications.Columns["ColumnAppName"].DataPropertyName = "name"
- $datagridviewApplications.Columns.Add("ColumnAppPublisher", "Publisher")
- $datagridviewApplications.Columns["ColumnAppPublisher"].DataPropertyName = "Publisher"
- $datagridviewApplications.Columns.Add("ColumnAppVersion", "Version")
- $datagridviewApplications.Columns["ColumnAppVersion"].DataPropertyName = "SoftwareVersion"
- $datagridviewApplications.Columns.Add("ColumnAppStatus", "Status")
- $datagridviewApplications.Columns["ColumnAppStatus"].DataPropertyName = "installstate"
- $datagridviewApplications.DataSource = $Data