【发布时间】:2017-03-18 22:31:13
【问题描述】:
我有一个 DataTable,其中包含各种数据类型的列 - int、string、bool、Enum(如以下示例中的 Severity):
hostTable = new DataTable();
hostTable.Columns.Add("Suspended", typeof(bool));
hostTable.Columns.Add("Succ Tests", typeof(int));
hostTable.Columns.Add("Unsucc Tests", typeof(int));
hostTable.Columns.Add("System Name", typeof(string));
hostTable.Columns.Add("System IP", typeof(string));
hostTable.Columns.Add("Criticality", typeof(Severity));
hostTable.Columns.Add("Alert Email To", typeof(string));
hostTable.Columns.Add("Alert Email Cc", typeof(string));
hostTable.Columns.Add("Likely Impact", typeof(string));
hostTable.Columns.Add("Likely Causes", typeof(string));
hostTable.Columns.Add("Escalation", typeof(string));
hostTable.Rows.Add((bool)hd.IsSuspended, (int)hd.SuccTests, (int)hd.UnSuccTests,
hd.SystemName, hd.SystemIp, (Severity)hd.Criticality, hd.AlertEmailToAddress,
hd.AlertEmailCcAddress, hd.LikelyImpact, hd.LikelyCauses, hd.EscalationInstructions);
dgvHostTable.DataSource = hostTable;
当我将它绑定到 DataGridView 时,如何使用此设置显示列:
- bool 列 → 带有真/假选项的组合框
- 枚举列 → 带有枚举列表的组合框
- 字符串列 → 就像可编辑的文本字段
【问题讨论】:
-
如果你使用 DataGridView 你会自动得到一个复选框。
-
您应该自己为这些列添加
DataGridViewComboBox列。你可以创建一个方法来为你做这件事。
标签: c# winforms datagridview combobox enums