将WMI结果绑定到datagridview

时间:2018-08-27 07:25:00

标签: c# datagridview wmi

一段时间以来,我一直在寻找答案,但是没有找到符合我需要的答案。

我的问题如下: 我提出了一些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);
        }

    }

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用ORMi并将DataGrid绑定到结果集合:

var products = helper.Query("SELECT * FROM Win32_Product").ToList();

mydgc.ItemsSource = products;