【问题标题】:How to access datagridview in UI layer from data layer C# ?windows forms application如何从数据层 C# 访问 UI 层中的 datagridview?windows 窗体应用程序
【发布时间】:2016-03-30 08:30:39
【问题描述】:

我正在尝试将我的 c# windows 窗体项目转换为 3 层架构。但是,我无法访问 UI 层中的 datagridview。

谁能帮帮我。这是我的代码。

业务逻辑代码:

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

这里是UI层代码

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

    }

最后是我的数据层代码:

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 层,谢谢

【问题讨论】:

  • 数据层不应访问 UI
  • 如何从数据层->业务层->UI返回数据表??
  • “我已将我的 c# windows 窗体项目转换为 3 层架构” 如果您在数据层中需要 datagridview1,则不是这样。还要检查this
  • 简单告诉我如何访问UI层的数据表?

标签: c# winforms sql-server-2012


【解决方案1】:

如下更改你的 UI 代码

     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;
     }

【讨论】:

  • Ouhhhhhh 非常感谢 :) 你伟大的人....再次感谢 :) 它运作良好..真棒工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 2011-02-11
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 2013-11-27
相关资源
最近更新 更多