클래스가 ExpenseItem
이고 해당 클래스를 기반으로 한 목록이 있습니다.쿼리 결과를 목록 상자에 반환하십시오.
현재 ExpenseItem
여행의 특정 유형을 선택하고 모든 결과를 목록 상자에 표시 할 수있는 콤보 상자가있는 양식을 디자인하고 있습니다.
양식 코드 (tripSelect
콤보 상자이며 listExpenses
목록 상자입니다) :
private void LoadExpenseList()
{
tripSelect.Items.Clear();
var dateSorted =
from e in roster
group e by e.Trip into tripGroup
select new { Trip = tripGroup.Key };
foreach (var e in dateSorted)
tripSelect.Items.Add(e.Trip);
}
private void LoadExpenseDetail()
{
listExpenses.Items.Clear();
var dateSorted =
from e in roster
orderby e.Trip
select e;
foreach (var e in dateSorted) ;
}
private void ExpenseRecorderForm_Load(object sender, EventArgs e)
{
}
private void tripSelect_SelectedIndexChanged(object sender, EventArgs e)
{
selectedExpense = (ExpenseItem)roster.ToFind((string)tripSelect.SelectedItem);
listExpenses.Items.Add(selectedExpense);
}
private void listExpenses_SelectedIndexChanged(object sender, EventArgs e)
{
tripTextBox.Text = selectedExpense.Trip;
tripTextBox.Enabled = false;
descriptionTextBox.Text = selectedExpense.Description;
amountTextBox.Text = selectedExpense.Amount.ToString();
paymentMethodTextBox.Text = selectedExpense.PaymentMethod;
dateExpenseTimePicker.Value = selectedExpense.Date;
dateExpenseTimePicker.Enabled = true;
noteTextBox.Text = selectedExpense.Note;
}
감사합니다. 그래도 FirstOrDefault()로 인해 첫 번째 값만 가져옵니다. 내가 말한 것처럼 IEnumerable에서 캐스트 할 수 없기 때문에 어디서 작동하지 않습니다. – user1350264
그래서 무엇을 성취하려고합니다. 그것을 사용하는 코드는 그것을 'ExpenseItem'에 던지려고하므로 단일 값을 원한다고 가정합니다. 여러 경기를 원한다면 목록을 반환하는 목적은 무엇입니까? – aqwert
여러 값을 원합니다. 이 양식을 사용하면 여행 유형을 선택한 다음 모든 관련 광고 항목을 표시하고 편집 할 수 있습니다. – user1350264