2013-12-26 2 views
0

Я хочу продолжать читать процесс данных отдельно в классе и передавать эти данные в форму, отображаемую в DataGridView в качестве источника данных. Я могу построить строку за строкой в ​​списке, а затем передать это в форму, но мне интересно, есть ли простой способ просто передать полный набор данных в форму как параметр?Как передать полный набор данных в форму из другого класса?

Вот мой код, чтобы создать набор данных:

class DAL_ProjectMaster 
{ 
    // List<string> ProjectList = new List<string>(); 
    OleDbConnection DBcon; 
    OleDbCommand DBcmd; 
    OleDbDataAdapter DBadp; 
    ConString constr = new ConString(); 
    public void GetProjectMaster() 
    { 
     string connectString = constr.GetConString(); 

     DBcon = new OleDbConnection(connectString); 
     DBcmd = new OleDbCommand("select * from ProjectMaster", DBcon); 
     DBcon.Open(); 
     DBadp = new OleDbDataAdapter(DBcmd); 
     DataSet ds = new DataSet(); 
     DBadp.Fill(ds); 
     } 
    } 
} 

Я хотел бы передать дц в форму, где я могу использовать в качестве источника данных для DataGridView, как это:

 dataGridView1.DataSource = ds.Tables[0]; 

ответ

0

изменения GetProjectMaster для возврата DataSet

public DataSet GetProjectMaster() 
{ 
    DataSet ds = new DataSet(); 
    string connectString = constr.GetConString(); 
    using(var con = new OleDbConnection(connectString)) 
    using(var cmd = new OleDbCommand("select * from ProjectMaster", con)) 
    { 
     con.Open(); 
     using(var adp = new OleDbDataAdapter(cmd)) 
     { 
      adp.Fill(ds); 
     } 
    } 
    return ds; 
} 

сейчас вы можете позвонить по телефону выше met корыто в

DAL_ProjectMaster dal = new DAL_ProjectMaster(); 
dataGridView1.DataSource = dal.GetProjectMaster().Tables[0]; 
0

Вы можете использовать сеанс // для Назначают

DataSet ds = new DataSet(); 
    Session.Add("Name", ds); 
    // for retrieve 
    ds = (DataSet)Session["Name"]; 
Смежные вопросы