2017-07-26 8 views
0

データグリッドデータ連結エラーDataGridのデータ連結Winformsの

class Test1 
{ 
    public DataTable table1 = new DataTable(); 
    public BindingSource sr = new BindingSource(); 
} 

class Test2 
{ 

    Test1 ta =new Test1(); 

    DataTable table1 = new DataTable(); 
    table1.Columns.Add("Dosage", typeof(int)); 
    table1.Columns.Add("Drug", typeof(string)); 
    table1.Columns.Add("Patient", typeof(string)); 
    table1.Columns.Add("Date", typeof(DateTime)); 

    table1.Rows.Add(25, "Indocin", "David", DateTime.Now); 
    table1.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); 
    table1.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); 
    table1.Rows.Add(21, "Combivent", "Janet", DateTime.Now); 
    table1.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); 

    ta.table1 = table1 ; 

    datagridview dgv = new datagridview(); 
    dgv.AutoGenerateColumns = true ; 
    dgv.DataBindings.Add("DataSource",ta,"table1"); 
} 

私は与えて上記のコード「DataSource.Parameter名のプロパティまたは列TABLE1にバインドすることはできません:データメンバー」 。私はここで何をしているのか、私はそれを得ていませんでした。

+0

__「DataGridView」の「GridView」または「DataGrid」を呼び出すことはありません。これらは異なるコントロールであるため、間違って混乱します。常に__right__の名前で物事を呼び出す! – TaW

答えて

0

あなたが渡しているオブジェクトデータソースが間違っている、それはta.table1だけではなくta

dgv.DataBindings.Clear(); 
    dgv.AutoGenerateColumns = false; 
    dgv.DataBindings.Add("DataSource",ta.table1,"DataSource"); 
でなければならまあ、あなたの投稿をコードごとに

dgv.AutoGenerateColumns = false; 
dgv.DataSource = ta.table1; 

のようなあなたのデータソースをバインドするために直接DataSourceプロパティを使用します

また

DataTable table1 = new DataTable("table1"); 
として以下の行を変更

詳細については、https://msdn.microsoft.com/en-us/library/b6y3aby2(v=vs.110).aspx#Examplesを参照してください。

+0

私は、データバインディングを使用してデータソースにバインドする状況にあります。 databindings.add()メソッドで問題を見つけるのを手伝ってください。 – Aishwarya

+0

@Aishwarya、上記のように変更した後、 – Rahul

+0

の回答に編集を参照してください。同じエラーが発生しています。お返事ありがとうございます。 – Aishwarya

0

また、オブジェクトリストを作成してリストをバインドすることもできます。投稿したパラメータ(Dosage、DrugName、PatientName、およびTime)を持つ "Patient"クラスを作成します。オブジェクトを作成してリストに追加し、最後にDGVデータソースをそのリストと同じに設定します。

DataGridView dgvPatient = new DataGridView();  //Create DGV 
List<Patient> patientList = new List<Patient>(); //Create list 
//Create and populate your object patient 
Patient p1 = new Patient(###, "DrugName", "PatientName", DateTime); 
patientList.Add(p1);        //Add to list 

dgvPatient.DataSource = typeof(Patient); 
dgvPatient.DataSource = patientList;    //Assign to DGV 

これはそれをやって行くための別の方法であるが、過去に私のためにかなりよく働いている:ここであなたを助けることができるいくつかのサンプルコードです。これが役に立ちますようにお願いします。

+0

こんにちはYahtzeeあなたのお返事ありがとうございます。あなたの提案によると、上記の提案は私のために働いています。しかし、私はDataBindings.Addメソッドを使用してDataGridViewのデータソースプロパティをバインドする必要があります。これは私のために働いていません。なぜそれが機能していないのかわかりません、私はその助けが必要です。 – Aishwarya