private void InitDataGrid()
{
_source = new DataTable();
_source.Columns.Add("Events", typeof(TraceEvent));
_source.Columns.Add("All", typeof(bool));
foreach (TraceField tf in Enum.GetValues(typeof(TraceField)))
_source.Columns.Add(tf.ToString(), typeof(bool));
foreach (TraceEvent ev in Enum.GetValues(typeof(TraceEvent)))
{
DataRow dr = _source.NewRow();
dr["Events"] = ev;
_source.Rows.Add(dr);
}
foreach (var pair in TraceManager.GetUserTraceEvents())
_source.Rows[pair.A][pair.B] = true;
dataGridView.DataSource = _source;
dataGridView.Columns[0].ReadOnly = true;
for (int i = 2; i < dataGridView.Columns.Count; i++)
{
dataGridView.Columns[i].Width = 50;
}
}