[英]Return all matching values to a listbox upon combo box selection
我有一個帶有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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.