MVVMパターンが新しくなっています。リストをツリービューコントロールに入力する必要がある場所にMVVMパターンを作成しました。ビュー、ビューモデル、Model.Iには、ハード今私が代わりにハードコードされたdata.Iのモデルのリストに私のMS Accessのデータテーブルを接続したい.Butコーディングは、DALのリールを作成し、以下のように私のMS Accessのデータテーブルに接続している:ここでloadempをデータテーブルから辞書レコードに追加する
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Configuration;
using System.Data;
namespace DAL2
{
public class PersonalDAL
{
// static String _ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionStr"].ConnectionString;
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\faisal\\Xerox2014\\wpf\\WPFHierarchy\\IconnectDB.accdb");
public DataTable loademp()
{
con.Open();
OleDbDataAdapter sda = new OleDbDataAdapter("select * from empTable", con);
DataTable dt = new DataTable();
sda.Fill(dt);
con.Close();
return dt;
}
}
}
をメソッドはデータテーブルを返します。モデルで は、私はちょうど私が行き詰まっている.theのコードを、リストを埋めるためにしようとしていることはここにある:ここで
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using DAL2;
using System.Data;
namespace DevLake.OrgChart.UI.Model
{
class OrgChartManager
{
private static OrgChartManager self;
//orgchart stored in dictionary
private Dictionary<int, Node> list = new Dictionary<int, Node>();
private OrgChartManager()
{
DataTable my_datatable = new DataTable();
my_datatable = new PersonalDAL().loademp();
int ColumnCount = my_datatable.Columns.Count;
foreach (DataRow dr in my_datatable.Rows)
{
list.Add(dr);
//******here I get stuck and throw syntax error on this line
}
//hard coded populate data
// list.Add(1, new Node { Id = 1, FirstName = "Joe", LastName = "Smith", ParentId = 1 });
//list.Add(2, new Node { Id = 2, FirstName = "Rich", LastName = "Angel", ParentId = 1 });
//list.Add(3, new Node { Id = 3, FirstName = "Mary", LastName = "Peach", ParentId = 1 });
I午前.ANY本体がどのように埋めるために私を助けることができる、それは構文エラーを投げるリストを埋めることができませんデータ・テーブル・データ.MY MS Accessのテーブルとの私のリストは、次のようになります。
ID FirstName LastName ParentId
1 Joe Smith 1
10 Grey Peech 9
11 Manny Travel 9
2 Rich Angel 1
3 Mary Peach 1
4 Mike Door 2
5 Jimmy Fond 2
6 Ann Brown 4
7 George Farm 4
8 Able Jump 4
9 Corn Shaw 1
私は、データベースを接続して、私のモデルにデータテーブルをもたらすことができていますが、リストへのデータ・テーブル・データを充填することはどこです私は立ち往生しました。私の友人を助けてください。
私のノードクラス:あなたがこれを行う方法
class Node
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int ParentId { get; set; }
}
}
は 'Node'クラスに依存します。それはどう? –
私のノードクラス:クラスNode { public int Id {get;セット; } パブリック文字列FirstName {get;セット; } パブリック文字列LastName {get;セット; } public int ParentId {get;セット; } } } –
WPF/MVVMには本当に関係のないものがたくさんあります。質問は、DataRowインスタンスからNodeインスタンスを作成するだけに減らす必要があります。 – LordWilmore