在我的程序中,我有2个ComboBoxes作为DropDown列表。我想在第一个ComboBox中的项目被选中后才向第二个ComboBox添加项目。
到目前为止我有这个:
InitializeComponent();
comboBox1.Items.Add("Category1");
comboBox1.Items.Add("Category2");
comboBox1.Items.Add("Category3");
comboBox1.SelectedValueChanged += new EventHandler(comboBox1_TextChanged);
private void comboBox1_TextChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedText.Equals("Category 1"))
{
DataTable cat = dataTableAdapter.GetByCategory("category1");
foreach (DataRow row in cat.Rows)
{
comboBox2.Items.Add(row.ItemArray[1]);
}
}
}
答案 0 :(得分:5)
来自MSDN的关于使用ComboBox.SelectedText和DropDownList样式的说明:
If DropDownStyle is set to DropDownList, the return value is an empty string ("").
因此,您可能需要使用SelectedIndex或SelectedItem属性(或将ComboBox的样式更改为其他类型之一)。
答案 1 :(得分:2)
更改
if (comboBox1.SelectedText.Equals("Category 1"))
要
if (comboBox1.SelectedItem.ToString().Equals("Category1"))