【发布时间】:2014-03-28 11:47:18
【问题描述】:
我正在尝试从数据表中填充 Gridview。但是,当我运行代码时,Gridview 中根本没有显示任何内容。代码如下:
string serverIP = drpServer.SelectedItem.Value.ToString();
ManagementObjectSearcher searcher = new ManagementObjectSearcher(@"\\" + serverIP + "\\root\\CIMV2", "SELECT * FROM Win32_PerfFormattedData_PerfProc_Process");
foreach (ManagementObject query in searcher.Get())
{
var processName = query["Name"];
var processID = query["IDProcess"];
var cpuTime = query["PercentProcessorTime"];
var memUsage = query["WorkingSet"];
double newMemUsage = Convert.ToDouble(memUsage);
newMemUsage = newMemUsage / 1024;
DataTable dt = new DataTable();
dt.Columns.Add("ProcessName", typeof(string));
dt.Columns.Add("ProcessID", typeof(int));
dt.Columns.Add("CPUTime", typeof(string));
dt.Columns.Add("MemoryUsage", typeof(string));
DataRow row = dt.NewRow();
row["ProcessName"] = processName;
row["ProcessID"] = processID;
row["CPUTime"] = cpuTime;
row["MemoryUsage"] = newMemUsage;
dt.Rows.Add(row);
GridView1.DataSource = dt;
GridView1.DataBind();
比起使用 Diagnostics.Process,我更喜欢 Management Object Searcher,这就是我选择这条路线的原因。
我也在我的 Gridview 中创建了绑定字段。
【问题讨论】: