选择组合框时,将所有匹配的值返回到列表框
本文关键字:列表 返回 组合 选择 | 更新日期: 2023-09-27 18:31:53
我有一个带有ListBox
和一堆用于编辑记录的TextBox
的表单。我还有一个ComboBox
可以从中选择trip
类型(这是在表单中定义的)。
private void LoadExpenseList()
{
tripSelect.Items.Clear();
var dateSorted =
from e in roster
orderby e.Trip
select e;
foreach (var e in dateSorted)
tripSelect.Items.Add(e.Trip);
}
private void tripSelect_SelectedIndexChanged(object sender, EventArgs e)
{
selectedExpense = (ExpenseItem)roster.TripFind((string)tripSelect.SelectedItem);
listExpenses.Items.Add(selectedExpense);
}
private void listExpenses_SelectedIndexChanged(object sender, EventArgs e)
{}
现在,当我选择一个trip
时,我只得到传递给ListBox
的第一个结果,这就是原因(这是在列表类中定义的)
public ExpenseItem TripFind(string trip)
{
var specificExpenseItem =
from e in this
where e.Trip == trip
select e;
if (specificExpenseItem.Count() >= 1)
return specificExpenseItem.First();
return null;
}
每次尝试重写时,我都会遇到问题!我遇到not all paths return a value
或 JIT 调试器告诉我我无法解决这个问题。
这是我尝试过的最后一件事:
public ExpenseItem TripFind(string trip)
{
var specificExpenseItem =
from e in this
where e.Trip == trip
select e;
foreach (var e in specificExpenseItem);
return null;
}
有什么帮助吗?
你可以用
return this.FirstOrDefault(e => e.Trip == trip);