2016-03-30 2 views
1

Я пытаюсь преобразовать свой проект форм окон C# в трехслойную архитектуру. Но я не могу получить доступ к datagridview в слое пользовательского интерфейса.Как получить доступ к datagridview в слое пользовательского интерфейса из слоя данных C#? Windows forms application

Может ли кто-нибудь мне помочь. Вот мой код.

БИЗНЕС_ЛОГИКА КОД:

BEL beobj = new BEL(); 
    Data dobj = new Data(); 
    public void show(BEL beobj) 
    { 
     dobj.show(beobj); 
    } 

здесь код

private void button3_Click(object sender, EventArgs e) 
    { 
     string dt=baobj.show(beobj); 
    dataGridView1.DataSource = dt; 

    } 

UI слой и, наконец, вот мой код данных слоя:

public class Data 
    { 
    SqlConnection cnn = new SqlConnection("Data Source=HAMEED_KHAN\\SQLEXPRESS; Initial catalog=Medical; Integrated security=true");   

     public DataTable show(BEL obj) 
     { 
     cnn.Open(); 
     SqlCommand cmd = new SqlCommand("SELECT * FROM stock", cnn); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataTable dt = new DataTable(); 
     da.Fill(dt); 
     return dt; 
     cmd.ExecuteNonQuery(); 
     cnn.Close(); 
    } 
    } 

Пожалуйста, скажите мне, как я могу получить доступ к datagridview1 от уровня данных до уровня пользовательского интерфейса, спасибо

+5

слой данных не должен получить доступ к UI – FLICKER

+0

, как я могу вернуть DataTable из слоя данных -> бизнес Слой-> UI ?? –

+1

* «Я преобразовал проект c windows windows forms в трехслойную архитектуру» * Неверно, если вам нужен «datagridview1» в слое данных. Также проверьте [this] (https://msdn.microsoft.com/en-us/library/x2dbyw72 (v = vs.71) .aspx). – Sinatr

ответ

0

Изменение кода пользовательского интерфейса следующим образом

 private void button3_Click(object sender, EventArgs e) 
    { 
      DataTable dt=baobj.show(beobj); 
      dataGridView1.DataSource = dt; 
    } 

Изменить код бизнес-логики следующим

 public DataTable show(BEL beobj) 
    { 
     DataTable dtbl = dobj.show(beobj); 
     return dtbl; 
    } 
+0

Ouhhhhhh Спасибо много :) Ты отличный человек .... Еще раз спасибо :) Это хорошо работает..валая работа –

Смежные вопросы