我正在尝试将默认值添加到已填充数据源的组合框中。检查下面的图片:
从oracle数据库自动添加值。现在我需要做的是添加一个默认值,它将代表所有类别。
以下是设计师代码:
this.comboBox2.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.vRSTEPROBLEMABindingSource, "NAZIV", true));
this.comboBox2.DataSource = this.vRSTEPROBLEMABindingSource1;
this.comboBox2.DisplayMember = "NAZIV";
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Location = new System.Drawing.Point(89, 51);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(173, 21);
this.comboBox2.TabIndex = 4;
this.comboBox2.Text = "Svi";
this.comboBox2.ValueMember = "NAZIV";
答案 0 :(得分:0)
我找到了一个解决方案,无法向combobox
添加数据绑定的项目。您可以做的是将项目填充到List
然后将它们添加到组合框中。这是一个代码:
// your connection string + open connection
OracleConnection conn = new OracleConnection(global::IssueTracker.Properties.Settings.Default.ConnectionString);
conn.Open();
// data adapter
OracleDataAdapter oa = new OracleDataAdapter("select naziv from vrsteproblema", conn);
DataSet ds = new DataSet();
oa.Fill(ds, "vrsteproblema");
// put entries into a list
List<string> comboNazivi = new List<string>();
foreach (DataRow row in ds.Tables["vrsteproblema"].Rows)
{
comboNazivi.Add(row["naziv"].ToString());
}
// add custom entry
comboBox2.Items.Add("Svi");
// fill the rest from the list
for (var i = 0; i < comboNazivi.Count; i++) {
comboBox2.Items.Add(comboNazivi[i]);
}
// dont forget to close conn
conn.Close();