comboBox SelectedValue 问题请教高手
我的目的:动态创建行容器panel,在每行创建Combobox,并依据数据源进行赋值(先给固定值)。代码如下:
private void Inform()
{
//
// panel1
//
System.Windows.Forms.Panel panel1 = new System.Windows.Forms.Panel();
panel1.Location = new System.Drawing.Point(85, 112);
panel1.Name = "panel11";
panel1.Size = new System.Drawing.Size(200, 100);
panel1.TabIndex = 0;
//
// comboBoxBase1
//
ComboBox comboBoxBase1 = new ComboBox();
comboBoxBase1.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
comboBoxBase1.FormattingEnabled = true;
comboBoxBase1.Location = new System.Drawing.Point(15, 14);
comboBoxBase1.Name = "comboBoxBase11";
comboBoxBase1.Size = new System.Drawing.Size(121, 20);
comboBoxBase1.TabIndex = 0;
panel1.Controls.Add(comboBoxBase1);
DataTable dtUnit = new T_Unit(this.mClientApp, 0).GetT_UnitPublicList(false).Copy();
comboBoxBase1.DataSource = dtUnit;
comboBoxBase1.DisplayMember = "Unit";
comboBoxBase1.ValueMember = "UnitID";
//this.Refresh();
comboBoxBase1.SelectedValue = "1003";//是无效的
this.Controls.Add(panel1);
//comboBoxBase1.SelectedValue = 1003;//是有效的
}
如果我将SelectedValue放在this.Controls.Add(panel1);之前 赋值是为空的,如果是放在此之后,是有效的。
如果我一定要希望放在此之前赋值,有什么办法吗?
纠结一个晚上了 --------------------编程问答-------------------- combobox没有加入界面之前是不能设置SelectedValue的,你为何要在加入之前设置?如果不想显示,可以先把panel1.Visible=false,这样就不显示出来, --------------------编程问答-------------------- 同意楼上所说。 --------------------编程问答--------------------
1234
补充:.NET技术 , C#