0

会計年度を一覧表示するデータバインドされたコンボ ボックスがあります。ユーザーは、このコンボ ボックスから値を選択し、[クライアント] コンボ ボックスから値を選択して、ユーザーが処理する会計年度のそのクライアントのレポートを選択します。過去のドキュメントを処理することは可能ですが、デフォルトの使用例は終了したばかりの会計年度のレポートを処理することなので、コンボ ボックスをデフォルトで (現在) 2011/2012 に設定したいと思います。これは、FinancialYear の文字列プロパティです。実在物。

私のxaml:

<ComboBox Canvas.Left="353" 
          Canvas.Top="18" 
          Height="23" 
          Name="cboFinancialYear"
          Width="120" 
          DisplayMemberPath="FinancialYear1" 
          ItemsSource="{Binding}" 
SelectedValuePath="FinancialYearID" />;

Window_Loaded私のコードビハインドのメソッド:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    String thisYear = MainViewModel.GetCurrentFinancialYear();
    lGFinanceEntities = new LGFinanceEntities();
    // Load data into FinancialYears. You can modify this code as needed.
    CollectionViewSource financialYearsViewSource = ((CollectionViewSource)(this.FindResource("financialYearsViewSource")));
    ObjectQuery<FinancialYear> financialYearsQuery = this.GetFinancialYearsQuery(lGFananceEntities);
     financialYearsViewSource.Source = financialYearsQuery.Execute(System.Data.Objects.MergeOption.AppendOnly);
     cboFinancialYear.SelectedItem = thisYear;
}

ただし、これは効果がないようで、コンボ ボックスで選択された項目は FinancialYear テーブルの最初の年です。

誰かが私が間違ったことを指摘できますか? 私は見回しましたが、コンボボックスのデフォルト値の実装のほとんどは、実際にデフォルト値を選択したいのに対し、指示テキストとして「年を選択する」ソートのようです。

4

2 に答える 2

1

SelectedItem には、ItemsSource のオブジェクトへの参照があります。IEnumerable<FinancialYear>ItemsSource がタイプの場合、SelectedItem を文字列に設定することはできません。

于 2012-07-30T04:59:03.990 に答える
0

設定

cboFinancialYear.SelectedValue=thisYear.FinancialYearID;

SelectedItem の代わりに SelectedValue を使用してください。

于 2012-07-30T04:58:36.437 に答える