2009-06-02 15 views
1

ゴール 指定した週の概要データを表示するカスタムコントロールを作成します。次のようにWPF条件に基づくデータバインディング

で渡されたデータは次のようになります。あなたは、データが日付に基づいて、条件付きで見ることができるように

3rd May 2009  Customer A  $2000 
4th May 2009  Customer A  $3900 
6th May 2009  Customer B  $1900 

期待されるディスプレイは、

3rd May  4th May  5th May  6th May 
    Customer A Customer A     Customer B 
    $2000  $1900       $1900 

だろう。

アイテムはWPFの条件に基づいてデータバインドできますか?データソースの日付が==現在の項目が

を日付または私はちょうど背後にあるC#でこのロジックをコーディングに固執する必要があり

すなわちショーの要約?

-----------------アンディの質問の編集--------------------

インタフェースを実装することはできますが、基本クラスは実装することはできません。

私がやりたいことは、コントロールを1年分の日付から1週間表示することです。これは、現在の週と呼ばれるプロパティを介して設定されます。

既知のデータソース(上記の例の表を参照)が渡されたとき、コントロール内の任意の日付アイテムがデータソースからデータを取得し、それがまだ表示されていない場合は日付。

データは、グリッド・サマリーのリストはあなたがこれを行うことができます

public class GridSummary 
{ 
    public DateTime SummaryDate; 
    public Client Customer; 
    public decimal Amount; 
} 
+0

申し訳ありませんが、開発者がデータソースをコントロールにスローできるようにし、コントロールが表示している曜日のデータを選択するようにします。 – Peter

+0

データ形式は上記の表形式にする必要がありますが、うまくいきませんでした。したがって、各項目は日付、下の顧客、それ以下の料金を表示します。 – Peter

答えて

1

私が正しく理解していれば、いくつかの表形式のデータをリスト形式で表示する必要があります。これは正しいです?

データ入力について何をご存知ですか?インターフェイスを実装することは保証されていますか、または基本クラスから継承しますか?後であれば、データテンプレートがあると思います。与えられる可能性のあるそれぞれのタイプのデータテンプレートを作成し、それぞれのセットに対して、表示するタイプのTargetTypeを作成します。データをコントロールにバインドすると、WPFは自動的にコレクション内の各オブジェクトの正しいデータテンプレートを選択します。

データが届かない場合は、表示する内容や表示方法をどのように知ることができますか?入ってくるデータについて知っておく必要があることは、少なくともあるはずです。

(あなたがしようとしていることを理解できない可能性があります。明確にしてください。)

更新

あなたのコントロールのデータソースがGridSummaryオブジェクトのリストになりますように聞こえます。この場合、代わりにCollectionViewSourceをデータソースとして使用することができます(基本的にGridSummaryオブジェクトのコレクションをラップして)、Filterイベントに登録してください。渡された各オブジェクトについて、CurrentWeekプロパティの日付と週を比較し、その日付がその週に受け入れられた場合はそれを受け入れます(リンクされたMSDNページにはこの例があります)。

+0

上記の編集をご覧になり、お時間をありがとうございます。 – Peter

+0

私はこれを以前は見つけましたが、それは確かではありませんでした。 私はあなたが何を言っているのか理解しています。毎週フィルタを追加する必要があるため、余分なコードを少し追加する必要がありますが、説明している原則を理解しています。 助けてくれてありがとう! – Peter

0

オブジェクトを次のようになります。

if(a) 
    this.DataSource = a; 
else 
    this.DataSource = b; 

私はそれはあなたがが何を意味するのかであるか分かりません。

自分でレンダリングしていますか?または、ベースコントロールからコントロールを構築していますか?ネストされたコントロールを使用して必要なものを取得し、ネストされたコントロールを条件付きでコントロールできます。

+0

これはWPFにありますので、基本的にはヘッダーとフッターを含むリストコントロールのフォームになります。 – Peter

関連する問題