一段时间以来,我一直在寻找答案,但是没有找到符合我需要的答案。
我的问题如下: 我提出了一些wmi请求,以检索有关远程计算机的一些信息。但是我想将其中一些信息显示在datagridview上。我不知道如何以编程方式填充我的datagridview。
我的请求非常简单,并且我的结果正确显示在控制台上:它显示为已安装的软件,其中包含一些必要的信息。
dicts
启动此请求的按钮位于另一个类中。所以我尝试了这样的事情:
itertools.product
它告诉我,行没有任何定义。然后,我不知道这是否是个好主意,但是我的Datagridview是“预制的”,带有所需的列,例如:
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);
}
}
非常感谢您的帮助。
答案 0 :(得分:0)
使用ORMi并将DataGrid绑定到结果集合:
var products = helper.Query("SELECT * FROM Win32_Product").ToList();
mydgc.ItemsSource = products;