【发布时间】:2017-10-12 15:35:28
【问题描述】:
我已经加载了一个名为 dgvPrint 的 DataGridView,其中包含一个从数据库中检索的列表,如下所示:
dgvPrint.DataSource = ReservedServices.GetAll();
结果如下:
Worker 列和ServiceType 列是一些整数,它们引用两个表的主键。
如何将ServiceType和Worker的列类型从简单文本更改为DataGridViewComboBoxColumn?
注1:这两列的当前值是对应ComboBoxes的ValueMember。
注意2:我想保留其他列的数据和位置。
我已将此代码用于Worker 列,但无法正常工作:
DataGridViewComboBoxColumn colbox;
colbox = (DataGridViewComboBoxColumn)dgvPrintServices.Columns[4];
colbox.DataSource = WorkerServices.GetAll(); // a list of worker with Id and Name
colbox.DisplayMember = "Name";
colbox.ValueMember = "Id";
dgvPrint.Columns.Add(colbox);
【问题讨论】:
-
所以您还想在读取模式下查看 Combobox?
-
其实NO,特别想换工人
-
那么,您当前在编辑工作列时得到了一个文本框?
-
@RandRandom ,我在 datagridview 中设置了 readonly = false,但是我无法编辑文本
标签: c# datagridview datagridviewcolumn datagridviewcombobox