У меня есть DataTable
, который содержит столбцы различных типов данных - int
, string
, bool
, Enum
(как Severity
в примере ниже):Показать ComboBox для BOOL и Enum столбцов в DataGridView
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 колонки → ComboBox с истинными/ложными вариантами
- Enum колонны → ComboBox со списком перечислений
- строковых столбцы → Так же, как для редактирования текстового поля
Если вы используете DataGridView, вы автоматически получаете флажок. – jdweng
Вы должны добавить столбец DataGridViewComboBox' для этих столбцов самостоятельно. Вы можете создать метод для этого. –