【问题标题】:Manipulate datagridview column in 3 tier architecture在 3 层架构中操作 datagridview 列
【发布时间】:2016-12-07 11:57:31
【问题描述】:

我目前正在从事一个管理实习生的项目。每个实习生都有项目。此外,每个项目都有步骤/点。如果实习生完成一个步骤,项目会增加其进度。所以基本上,每个项目都有一个进展。

我正在使用自定义 DataGridViewProgressColumn。将此列添加到我的 datagridview 后,我可以通过将其值设置为某个值来更改它的值。

//Last index of datagridview is progresscolumn.
dataGridView1.Rows[i].Cells[dataGridView1.ColumnCount - 1].Value = value;

这个值来自数据库,据我所知,我不应该从 UI 层访问数据库。但是datagridview在UI层。

我有两个解决方案:

  1. 在数据访问层设置progresscolumn的每个值:我认为这是不可能的,尽管我认为这是最好的解决方案:我只是不能改变-notplaced-progressColumn的值。

  2. 在 UI 层设置 progresscolumn 的每个值,可能是“工作但不符合架构”的解决方案。

我该如何解决这个问题?谢谢。

【问题讨论】:

  • 我的数据库是ms-sql,如果重要的话。
  • 进度值应该是模型的属性,您应该将DataGridView 绑定到Model 的列表。您在服务层中的方法应返回 Model 列表。

标签: c# winforms datagridview 3-tier


【解决方案1】:

无论如何,我只是使用了一个返回 int 值的 DAL 函数。该函数计算该值并返回它。

dataGridView1.Rows[i].Cells[dataGridView1.ColumnCount - 1].Value = DAL.getValue(rowID);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-30
    • 2011-09-30
    • 2010-12-09
    • 2013-04-24
    • 2012-07-21
    • 2011-02-06
    • 2019-03-07
    • 2012-11-13
    相关资源
    最近更新 更多