申し訳ありませんが、私はこの日のより良い部分で私の頭を傷つけてきました、Googleはほとんど役に立たなかった、私の仲間のプロジェクトの仲間はそれを解決することができませんでした私たちは締め切りから1日足らずです。WPFで動的なデータグリッドにデータを追加
私は、変数の型(DataGridTextColumn、DataGridComboBoxColumn、DataGridCheckBoxColumn)の列の数が可変で構成され、データグリッドを持って
と私はデータをバインドする必要があります:あなたは私たちの唯一の希望だ、オビ=ワンStackOverflowの私たちを助けます彼らへ。
これらの各列は、グリッドが非常に柔軟でなければならない理由であるデータベースクエリを表します。私が助けが必要なのは、コードビハインド部分のこれらの列にデータをバインドして追加する方法です。
EDIT 私がこれを明確にするのを忘れているようだ:一部の列は、(:「グレード」私たちのインスタンスで)同じタイプのデータが含まれています。このオブジェクトのサブタイプによっては、列に異なるタイプが必要です。したがって、グリッドにはn個の列があり、その一部は同じタイプのデータにバインドする必要があります。
彼らは動的に変化するので、私は、私は、配列の異なるインデックスに列をバインドすることはできません何を読んでからは、各列に1つのプロパティを持つコンテナクラスを設計することができないのEND EDIT
は、と私が持っていた最後のアプローチのアイデアは、データのタイプ( "チェックボックス"、 "文字列"、 "コンボボックス")を表す文字列に異なる列をバインドし、その名前のプロパティを持つコンテナをそれぞれ個々の列。グリッドの列を呼び出すための「追加」メソッドがないように見えるため、これを行う方法が見つかりませんでした。私は必要なもの甘い思考コードで要約する はこのように見ているものです:
//Create an arbitrary number of columns
for(int i = 0; i < NR_CHECKBOXES; ++i) {
DataGridCheckBoxColumn col = new DataGridCheckBoxColumn();
col.Header = titles[i];
//which are bound to a container with correct type of data
col.Binding = new Binding("checkboxes[" + i + "]");
grid.Columns.Add(col);
}
grid.Add(checkboxes); //and then populate the grid
またはこのような何か:
チェックボックスは、プロパティのデータを持っているオブジェクトのリストです//Create an arbitrary number of columns
for(int i = 0; i < NR_CHECKBOXES; ++i) {
DataGridCheckBoxColumn col = new DataGridCheckBoxColumn();
col.Header = titles[i];
col.Binding = new Binding("Data");
col.Add(checkboxes[i]); //Populate the column specifically
grid.Columns.Add(col);
}
'(申し訳ありませんが、私はスウェーデンのキーボードを使っているので、おそらくタブを押して$を押してこのインラインをコード化できませんでした)。 これらのループは、それぞれの種類の列とデータ(コンボボックスとテキストボックス)に対してコピーされます。
これは私の問題を説明するのに十分であり、WPFでこれを達成するための正しい方法を知っている人がいることを願っています。
は、それはまだ私に問題を与えないでしょうか?はい、正しいテンプレートが選択されますが、そのタイプの正しいデータセットが選択されますか? – Glader
私のオリジナルの質問を編集しました。 – Glader