Winforms DataGridViewComboxColumn的数据绑定
在下面的代码中,名为“ConnectionType”的组合框显示所选项目,但无法更改所选项目(组合框中似乎只有一个项目)。如果我把这行注释掉Winforms DataGridViewComboxColumn的数据绑定,winforms,Winforms,在下面的代码中,名为“ConnectionType”的组合框显示所选项目,但无法更改所选项目(组合框中似乎只有一个项目)。如果我把这行注释掉 typeCol.DataPropertyName = "ConnectionTypeName"; 然后,组合框是可选择的,但当然没有选择正确的项目。我做错了什么 谢谢 private void LoadConnectionsGrid() { _dc = new EnterpriseEntities(); dataGridViewConne
typeCol.DataPropertyName = "ConnectionTypeName";
然后,组合框是可选择的,但当然没有选择正确的项目。我做错了什么
谢谢
private void LoadConnectionsGrid()
{
_dc = new EnterpriseEntities();
dataGridViewConnections.AutoGenerateColumns = false;
dataGridViewConnections.DataSource = _dc.Connection.Include("ConnectionType");
DataGridViewComboBoxColumn typeCol =
(DataGridViewComboBoxColumn)dataGridViewConnections.Columns["ConnectionType"];
typeCol.DataPropertyName = "ConnectionTypeName";
var qry = from c in _dc.ConnectionType
select c.Type;
typeCol.DataSource = qry;
DataGridViewTextBoxColumn nameCol =
(DataGridViewTextBoxColumn)dataGridViewConnections.Columns["ConnectionName"];
nameCol.DataPropertyName = "Name";
DataGridViewTextBoxColumn connStrCol =
(DataGridViewTextBoxColumn)dataGridViewConnections.Columns["ConnectionString"];
connStrCol.DataPropertyName = "ConnectionString";
}
最终,我无法让数据绑定、实体框架和组合框发挥作用,我只是创建了数据网格暴力(下面的代码)。这意味着我可以手动处理插入、更新和删除
private void LoadConnectionsGrid()
{
DataGridViewComboBoxColumn typeCol =
(DataGridViewComboBoxColumn)dataGridViewConnections.Columns["ConnectionType"];
var qry = from c in _dc.ConnectionType
select c.Type;
typeCol.DataSource = qry;
dataGridViewConnections.Rows.Clear();
foreach (Connection conn in _dc.Connection.Include("ConnectionType"))
{
dataGridViewConnections.Rows.Add(conn.Name,
conn.ConnectionType.Type, conn.ConnectionString);
}
}