在3层体系结构中处理datagridview列

时间:2016-08-02 08:17:41

标签: c# winforms datagridview 3-tier

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

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

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

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

我脑子里有两个解决方案:

  1. 在数据访问层设置进度列的每个值:我不认为这是可能的,虽然我认为这是最佳解决方案:我只是无法更改-not placement- progressColumn的值。

  2. 在UI层设置progresscolumn的每个值,可能是“工作但违反体系结构”解决方案。

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

1 个答案:

答案 0 :(得分:0)

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

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