2017-04-14 5 views
0

私はC#のクラスライブラリからデータグリッドビューを作成しています。 DataTable(dt)を返すEmployeeDataAccessクラスのメソッドFetchEmployee()を呼び出して、GridViewにデータを設定します。このDataGridViewのBindingSourceとしてクラスを設定しました。ただし、DataGridViewは、最初と最後の列にデータを入力するだけです。中央の列は空白です。これは結合法である:私のデータを表示していないデータグリッドビュー

private void dgvEmployeeBindGrid() 
    { 
     dgvEmployee.DataSource = null; 
     dgvEmployee.DataSource = EmployeeDataAccess.FetchEmployees(); 
    } 

これはFetchEmployee()メソッドです:

public static DataTable FetchEmployees() 
    { 
     DataTable dt = new DataTable(); 
     using (SqlConnection conn = new SqlConnection(DatabaseConnection.Test)) 
     { 
      conn.Open(); 
      using (SqlCommand cmd = conn.CreateCommand()) 
      { 
       cmd.CommandType = CommandType.StoredProcedure; 
       cmd.CommandText = "Employee_Fetch"; 
       using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) 
       { 
        using (dt) 
        { 
         sda.Fill(dt); 
        } 
       } 
      } 
      return dt; 
     } 

基本的には、ストアドプロシージャは、ちょうど私の結果は次のように表示さ

を "EMPLOYEE SELECT * FROM" と言います:

EmpIDには値があり、次の3つの列(Initials、FName、LName)はすべて空白で、最後の列はアクティブで、アクティブであるかどうかに応じてチェックされます非アクティブのためにcked。

申し訳ありませんが、私はスクリーンショットを挿入する方法を知りませんでした。誰も私に中行が省略された理由についていくつかの洞察を与えることができますか?

+0

実際には省略された列にはDatabaseConnection.Test接続のデータが含まれていますが、正しいですか? – KSib

+0

はい。 24個の列すべてに、グリッド内のEmpIDとActive列が表示されます。 – Wurm

答えて

0

私が参照していたSQLデータテーブルのフィールドと完全に一致するように私のパブリックプロパティとプライベートフィールドの名前を変更することで、このエラーを解決できました。私はもう一度幸せです:)

関連する問題