Если вы используете зефир 3, вы можете использовать для этого поле Pluck
.
С зефиром 2 используйте параметр only
для Nested
.
# 2.x
class ParentSchema(ma.Schema):
children = fields.Nested('ChildIdSchema', many=True, only='id')
# 3.x
class ParentSchema(ma.Schema):
children = fields.Pluck('ChildIdSchema', 'id', many=True)
foreach (ListItem li in dropdownlist1.Items)
{
if (li.Value == textBox1.text)
{
// The value of the option matches the TextBox. Process stuff here.
}
}
Это мой совет, как узнать, есть ли значение в раскрывающемся списке.
DropDownList наследует Коллекция элементов из ListControl . Поскольку Items является массивом, вы можете использовать следующий синтаксис:
dropdownlist1.Items.Contains (textbox1.Text) как логическое значение.
Я бы составил список раскрывающихся списков, а затем использовал бы linq для его выбора.
List<DropDownList> list = new List<DropDownList>();
list.Item.Add(dropdown1);
list.Item.Add(dropdown2);
.... (etc)
var selected = from item in list.Cast<DropDownList>()
where item.value == textBox1.text
select item;
Одна строка кода разделена для удобства чтения.
this.DropDownList1.SelectedItem = this.DropDownList1.Items
.SingleOrDefault(ddli => ddli.value == this.textbox1.value);
Если вы не хотите использовать LINQ:
List<ComboBox> dropDowns = new List<ComboBox>();
dropDowns.Add(comboBox1);
dropDowns.Add(comboBox2);
bool found = false;
ComboBox foundInCombo = null;
int foundIndex = -1;
for (int i = 0; i < dropDowns.Count && found == false; i++)
{
for (int j = 0; j < dropDowns[i].Items.Count && found == false; j++)
{
if (item == textBox1.Text)
{
found = true;
foundInCombo = dropDowns[i];
foundIndex = j;
}
}
}