【发布时间】: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层。
我有两个解决方案:
在数据访问层设置progresscolumn的每个值:我认为这是不可能的,尽管我认为这是最好的解决方案:我只是不能改变-notplaced-progressColumn的值。
在 UI 层设置 progresscolumn 的每个值,可能是“工作但不符合架构”的解决方案。
我该如何解决这个问题?谢谢。
【问题讨论】:
-
我的数据库是ms-sql,如果重要的话。
-
进度值应该是模型的属性,您应该将
DataGridView绑定到Model的列表。您在服务层中的方法应返回Model列表。
标签: c# winforms datagridview 3-tier