Linq.Tables (dc.GTMD_Financials) から UserControl にデータを追加するコードを少し作成しました。データベース内のすべてのエントリに対して、新しいユーザー コントロールが表示されます。
しかし、このコードをメソッドで使用して、アプリケーション全体で再利用したいと考えています。私の問題は、メソッドを呼び出すたびに、データベースから別のテーブルを使用したいということです (したがって、GTMD_Financials が変更されます)。
私はそれを理解できないようで、どんな形の助けや例も本当に感謝しています。
int locationControl = 78;
DataClasses1DataContext dc = new DataClasses1DataContext();
dc.GTMD_Financials.ToList().ForEach(x =>
{
KPIEntrys uc = new KPIEntrys(); // UserControl
uc.KPI = x.KPI; // Add data to properties
uc.Status = x.Status.ToString();
uc.Goal = x.Goal.ToString();
uc.Currently = x.Currently.ToString();
bool checkaction = x.ShowAction == true ? uc.ShowAction = true : uc.ShowAction = false;
bool checkstats = x.ShowStats == true ? uc.ShowStats = true : uc.ShowStats = false;
bool checkstatus = x.Status < x.StatusSignal ? uc.StatusGood = true : uc.StatusGood = false;
uc.Location = new Point(21, locationControl);
this.Controls.Add(uc); // Add Control to Form
locationControl = locationControl + 34;
}
);
ご不明な点がございましたら、お知らせください。助けてくれてありがとう。
編集:
私はすでに得た助けを借りてそれを機能させることができないようです。私はすでに得た返信の助けを借りて、メソッドを少し編集することができました:
int locationControl = 78;
DataClasses1DataContext dc = new DataClasses1DataContext();
public List<Control> LoadKPIs(Table<GTMD_Financial> dbTable)
{
var controls = new List<Control>();
dbTable.ToList().ForEach(x =>
{
KPIEntrys uc = new KPIEntrys();
uc.KPI = x.KPI;
uc.Status = x.Status.ToString();
uc.Goal = x.Goal.ToString();
uc.Currently = x.Currently.ToString();
uc.ShowAction = (bool)x.ShowAction;
uc.ShowStats = (bool)x.ShowStats;
uc.StatusGood = x.Status < x.StatusSignal;
uc.Location = new Point(21, locationControl);
controls.Add(uc);
locationControl = locationControl + 34;
}
);
return controls;
}
それでは、私の質問を言い換えてみましょう: メソッドを呼び出すときにクラスを変更するにはどうすればよいですか: LoadKPIs(Table< GTMD_Financial > dbTable? では、GTMD_Finacial が変更されます。