Я некоторое время искал ответ, но не нашел ни одного ответа, соответствующего моей потребности.
Моя проблема заключается в следующем: я сделал несколько запросов wmi для получения информации об удаленных компьютерах,Но я хочу, чтобы часть этой информации отображалась в обзоре данных.Я понятия не имею, как заполнить мое представление данных автоматически.
Мой запрос довольно прост, и мои результаты правильно отображаются на консоли: он отображает установленное программное обеспечение с необходимой информацией.
public void getInstalledSoftwares(string hostname)
{
ManagementScope scope = new ManagementScope("\\\\" + hostname + "\\root\\cimv2");
scope.Connect();
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Product");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
foreach (ManagementObject product in searcher.Get())
{
Object Name = product["Name"].ToString();
Object Version = product["Version"].ToString();
/*
* [...]
**/
// Populate the datagridview ?
Console.WriteLine(Name + " --- " + Version);
}
}
Кнопка, запускающая этот запрос, локализована в другом классе.Поэтому я попробовал что-то вроде этого:
Form.mydgv.Rows.add(name);
Это говорит мне о том, что для строк нет никакого определения.Тогда я не знаю, хорошая ли это идея, но мой Datagridview «предварительно сделан» с необходимым столбцом, например:
<DataGrid x:Name="datagrid_software" Margin="5" Grid.Row="1" >
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Application" Width="*"/>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Editeur" Width="Auto"/>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Installé le" Width="Auto"/>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Localisation" Width="*"/>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Taille" Width="Auto"/>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Version" Width="Auto"/>
<DataGridCheckBoxColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Uninstall" Width="*"/>
</DataGrid.Columns>
</DataGrid>
Большое спасибо за вашу помощь.