2013-06-28 62 views
0

我試圖在DataGridView中顯示一些數據,但沒有顯示。然後我嘗試在ListBox中顯示它,它可以工作。我怎樣才能讓它在DataGridView中工作。如何在DataGridView中顯示WMI數據

ManagementClass mc = new ManagementClass("Win32_Service"); 

    foreach (ManagementObject mo in mc.GetInstances()) 
     { 
      listBox1.Items.Add(mo["Name"].ToString()); 
      listBox2.Items.Add(mo["Description"].ToString()); 
      listBox3.Items.Add(mo["DispalyName"].ToString()); 
      listBox4.Items.Add(mo["ServiceType"].ToString()); 

     }  

感謝

回答

2

在你的DataGridView你必須添加至少四列來顯示結果。

ManagementClass mc = new ManagementClass("Win32_Service"); 

    grid.Columns.Add(new DataGridViewTextBoxColumn()); 
    grid.Columns.Add(new DataGridViewTextBoxColumn()); 
    grid.Columns.Add(new DataGridViewTextBoxColumn()); 
    grid.Columns.Add(new DataGridViewTextBoxColumn()); 

    foreach (ManagementObject mo in mc.GetInstances()) 
    { 
    object col1 = mo["Name"] != null ? mo["Name"].ToString() : null; 
    object col2 = mo["Description"] != null ? mo["Description"].ToString() : null; 
    object col3 = mo["DisplayName"] != null ? mo["DisplayName"].ToString() : null; 
    object col4 = mo["ServiceType"] != null ? mo["ServiceType"].ToString() : null; 

    grid.Rows.Add(new object[] { col1, col2, col3, col4 }); 
    }