C# DatagridView组合框扩展问题
我使用VisualStudio2010创建了一个数据网格视图,它有两列。 文本列,另一个是组合框列C# DatagridView组合框扩展问题,c#,forms,data-binding,datagridview,combobox,C#,Forms,Data Binding,Datagridview,Combobox,我使用VisualStudio2010创建了一个数据网格视图,它有两列。 文本列,另一个是组合框列 private System.Windows.Forms.DataGridViewTextBoxColumn eqNameClmn; private System.Windows.Forms.DataGridViewComboBoxColumn ClmnCabinetOptions; this.eqNameClmn.AutoSizeMode = S
private System.Windows.Forms.DataGridViewTextBoxColumn eqNameClmn;
private System.Windows.Forms.DataGridViewComboBoxColumn ClmnCabinetOptions;
this.eqNameClmn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.eqNameClmn.DataPropertyName = "Name";
this.eqNameClmn.HeaderText = "Cabinet/Mdf";
this.eqNameClmn.Name = "eqNameClmn";
this.eqNameClmn.ReadOnly = true;
//
// ClmnCabinetOptions
//
this.ClmnCabinetOptions.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.ClmnCabinetOptions.DataPropertyName = "OptionValue";
this.ClmnCabinetOptions.DisplayStyle = System.Windows.Forms.DataGridViewComboBoxDisplayStyle.ComboBox;
this.ClmnCabinetOptions.HeaderText = "Display Options";
ClmnCabinetOptions.DataSource=
new object[] {
"Include Blocks and Cables",
"Include Blocks",
"None"};
this.ClmnCabinetOptions.Name = "ClmnCabinetOptions";
我已经用用户必须从中选择的值填充了组合框列。
为了让我的生活更轻松,我创建了一个对象,我将使用它绑定到数据网格视图,并在用户完成后检索
public public class NeEquipmentDgvObj {
public NeEquipment NeEquipment;
public string Name { get; set; }
public bool IncludeBlocks;
public bool IncludeCables;
public string OptionValue { get; set; }
public NeEquipmentDgvObj(NeEquipment equipmentOb) {
Name = equipmentOb.EquipmentName;
NeEquipment = equipmentOb;
IncludeBlocks = false;
IncludeCables = false;
}
}
属性OptionValue将用于设置组合框时,该属性将在对象中设置,并且我可以在完成选择组合框中绑定列表中每个项目的值后检索数据网格视图的数据源
我遇到了这样一个问题:每当加载表单,并且项目被绑定时,组合框都不会展开以显示其中的项目。如果我预设了OptionValue,组合框值将设置为该OptionValue,但不会更改,组合框也不会展开。是什么原因造成的?我解决了问题,结果发现我不得不改变一些属性。 我在DGV上将EnableEditing设置为True,在整个DGV上将read-only属性也设置为false