私はC#とXAMLを使用して、データベースの情報を表示するダイアログボックスを作成しています。ウィンドウは多かれ少なかれ、機能するように機能します。初期化されると、データベースデータにはDataGrid
が適切に設定されます。DataGridsとデータバインディング
あなたが見ることができるように、ComboBox
はDataGrid
の内容をフィルタリングすることを意図しているにもあります。それはこれでやります。 ComboBox
から目的のアイテムを選択すると、自分のデータベースがフィルタリングされ、選択したオブジェクトタイプのデータがすべてList<>
になります。私が抱えている問題は、DataGrid
を埋めるためにList<>
のデータを一時テーブルに書き込む方法を見つけることができないということです。どのような最後のアップが起こってことはこれです:
あり、データベース内の要素の行の正しい数である、と私は休憩でそれを実行すると、すべての正しいデータがList<>
です。データは行に表示されていません。
DataGridのデータバインディングが機能しないため、結果としてデータベースに新しいテーブルを作成できません。私はList<>
からヘルパークラスを介してテーブルを再移植しようとしました...これを理解することはできません。
すべてのアイデアや助けが恒星になるでしょう。ここで
私が投稿できるように、コードのおよそ同じくらいです。 XMLデータバインディング(バインディングのパスは、データベース内の列に従ったものである):
<DataGridTextColumn Header="Size" Binding="{Binding Path=ItemSize }"/>
<DataGridTextColumn Header="Elbow" Binding="{Binding Path=Ell}"/>
<DataGridTextColumn Header="Tee" Binding="{Binding Path=Tee}"/>
<DataGridTextColumn Header="Long-Turn Elbow" Binding="{Binding Path=LngEl}"/>
<DataGridTextColumn Header="Check Valve" Binding="{Binding Path=Chk}"/>
<DataGridTextColumn Header="Butterfly Valve" Binding="{Binding Path=Bfy}"/>
<DataGridTextColumn Header="Gate Valve" Binding="{Binding Path=Gate}"/>
<DataGridTextColumn Header="Alarm Valve" Binding="{Binding Path=Alm}"/>
<DataGridTextColumn Header="Dry Pipe Valve" Binding="{Binding Path=DPV}"/>
<DataGridTextColumn Header="45⁰ Elbow" Binding="{Binding Path=45Ell}"/>
<DataGridTextColumn Header="Tee Run" Binding="{Binding Path=Teerun}"/>
<DataGridTextColumn Header="Coupling" Binding="{Binding Path=Coup}"/>
<DataGridTextColumn Header="Swing Check" Binding="{Binding Path=Swg}"/>
のC#:
var newTable = new CEqlTable();
var results = from myRow in vTable.AsEnumerable()
where myRow.SubCategoryID == GetPipeNumber()
select myRow;
foreach (DataRow dr in results)
{
var nextEntry = new CEqlTableRec(
false, (int)dr[0], (int)dr[1], (double)dr[2], (double)dr[3],
(double)dr[4], (double)dr[5], (double)dr[6], (double)dr[7],
(double)dr[8], (double)dr[9], (double)dr[10], (double)dr[11],
(double)dr[12], (double)dr[13], (double)dr[14], (double)dr[15],
Convert.ToByte(dr[18]));
newTable.Add(nextEntry);
}
dgPipeDetail.ItemsSource = newTable;
xamlとC#コードの便利な部分を投稿してください。コードがなければ、何が間違っているのかは分かりません。 –
マッシミリアーノさん、できるだけ多くのコードで投稿を更新しました。 –
newTableはフィルタリングされていない結果ですか?または、フィルタリングされた結果をnewTableですか? – WBuck