Я пытаюсь преобразовать свой проект форм окон 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 от уровня данных до уровня пользовательского интерфейса, спасибо
слой данных не должен получить доступ к UI – FLICKER
, как я могу вернуть DataTable из слоя данных -> бизнес Слой-> UI ?? –
* «Я преобразовал проект c windows windows forms в трехслойную архитектуру» * Неверно, если вам нужен «datagridview1» в слое данных. Также проверьте [this] (https://msdn.microsoft.com/en-us/library/x2dbyw72 (v = vs.71) .aspx). – Sinatr