2016-08-02 16 views
0

현재 인턴 관리를 담당하는 프로젝트에 있습니다. 모든 인턴은 프로젝트가 있습니다. 또한 모든 프로젝트에는 단계/요점이 있습니다. 인턴이 한 단계를 완료하면 프로젝트 진행 상황이 향상됩니다. 그래서 기본적으로 모든 프로젝트가 진행됩니다.3 단계 아키텍처에서 datagridview 열 조작

사용자 지정 DataGridViewProgressColumn을 사용하고 있습니다. 이 열을 내 DataGridview에 추가 한 후에 값을 설정하여 값을 변경할 수 있습니다.

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

이 값은 데이터베이스에서 가져온 것으로, 내가 아는 한 UI 레이어에서 데이터베이스에 액세스하면 안됩니다. 하지만 datagridview는 UI 레이어에 있습니다.

  1. 설정 데이터 액세스 계층에서 progresscolumn의 모든 값 : 난 그냥 값을 변경하지 못할 : 나는이 최선의 해결책이라고 생각하지만 이것이 가능하다고 생각하지 말아

    나는 내 마음에이 개 솔루션을 -notposed-progressColumn.

  2. UI 레이어에서 progresscolumn의 모든 값을 설정합니다. 아마도 "작동하지만 아키텍처와의 비교"솔루션 일 것입니다.

이 문제는 어떻게 해결할 수 있습니까? 고맙습니다.

+0

내 데이터베이스는 중요한 경우 ms-sql입니다. –

+0

진행률 값은 모델의 속성이어야하며'DataGridView'를'Model'의 목록에 바인딩해야합니다. Service Layer의 당신의 메소드는'Model'의리스트를 리턴해야합니다. –

답변

0

어쨌든 방금 int 값을 반환하는 DAL 함수를 사용했습니다. 이 함수는 값을 계산하고이를 반환합니다.

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