2010-12-31 14 views
1

私はEmployeesのコレクションを持っており、各アイテムにはProjectResourceアイテムのコレクションがあります。 私は列をデータバインドしようとしていますが、ProjectResourceはバインドされません。あなたは私たちがEmployee.Personから名前の詳細情報を取得し、我々はEmployee.ProjectResourceとしてサブコレクションを持って見ることができる以上のことからSilverlightこのBindingステートメントで何が問題になっていますか?

<data:DataGrid x:Name="TestGrid"> 
      <data:DataGrid.Columns> 
      <data:DataGridTextColumn Header="First Name" 
       Binding="{Binding Person.FirstName}" /> 
      <data:DataGridTextColumn Header="Last Name" 
       Binding="{Binding Person.LastName}" /> 
      <data:DataGridTextColumn Header="Week 1" 
       Binding="{Binding ProjectResource[0].PercentRequired}" /> 
      </data:DataGrid.Columns> 
      <data:DataGridTextColumn Header="Week 2" 
       Binding="{Binding ProjectResource[1].PercentRequired}" /> 
      </data:DataGrid.Columns>    
    </data:DataGrid> 

。 これは私が持っているものです。それは理にかなっている(私にとにかく)論理的にはうまくいくはずだが、そうではない。姓と名は表示されますが、プロジェクトリソースのデータは表示されません。 おそらくそれは単なる文法エラーか何か単純です(私が願っていますが)どんな助けもありがたいです。それはややハックのだけれども

+0

バインディングが正しくない場合、デバッガはメッセージを出力する必要があります。あなたのクラスとバインディングはどんな感じですか? –

+0

プロジェクトリソースのバインドされた列にはエラーメッセージはありません。彼らはRIAサービスから引き出された独立した存在です。私はすべてのRIAデータがロードされた後にアイテムソースを割り当てようとしましたが(データが実際にそこにあることを知っています)、まだ何も取得しません。 – Chris

+0

ProjectResourceのタイプは何ですか?コンストラクタで初期化されたProjectResourceですか? Silverlightのどのバージョンですか? –

答えて

0

を読み取るための

おかげで、私はこのための修正を持っています。

silverlightアプリケーション内にnewEmployeeとResourceクラスを作成しました。コレクションを作成し、Employeeエンティティアイテムを新しいコレクションに追加し、この新しいコレクションをグリッドのアイテムソースとして指定しました。 xamlにいくつかのわずかな構文修飾子が追加され、完全に機能し、新しいコレクションに2-wayデータバインドされました。

submitchangesメソッドを開始する前に、変更をエンティティコレクションにエクスポートするだけで済みます。