【发布时间】:2014-10-20 14:32:44
【问题描述】:
在我的 winform 应用程序中有一个数据网格,为了从数据网格插入值,我在按钮单击事件中使用以下代码为某些列生成组合框:
dgvLoadTable.DataSource = source;
dgvLoadTable.ReadOnly = false;
dgvLoadTable.AllowUserToAddRows = true;
var practices = (from p in context.TOWERIMPORTCLIENTs select p.PRACTICE).Distinct();
for(int r= 0; r < dgvLoadTable.Rows.Count; r++)
{
for(int c = 0; c < dgvLoadTable.Columns.Count; c++)
{
if(c == 2 || c == 4)
{
this.dgvLoadTable[c, r] = new DataGridViewComboBoxCell();
foreach(var name in practices)
((DataGridViewComboBoxCell)dgvLoadTable[c, r]).Items
.AddRange(practices.ToArray());
}
}
}
这仅适用于第一个新行,当生成第二个新行时,它没有组合框。那么如何检测是否生成了新行呢?
【问题讨论】:
-
source是什么对象? -
源是实体模型
标签: c# winforms datagridview combobox