텍스트 파일을로드하고 m 행 x n 열 테이블을 표시하려면 datagridview를 사용하여 뷰어를 작성하고 있습니다 (이 테이블은 사용자가 편집 할 수 있습니다).datagridview의 rowId에 datatable의 인덱스를 매핑하는 방법은 무엇입니까?
이 뷰어의 주요 목적은 각 열의 최대 값을 빨간색으로, 각 열의 최소값을 초록색으로 변경하고 특정 임계 값을 초과하는 셀을 분홍색으로 변경하는 것입니다. (버튼을 사용하여 dataTable의 각 열을 반복하여 checkMinMax() 메서드를 트리거하여 최소/최대/초과에 대한 행 목록 추출)
데이터를 처음로드 할 때이 작업을 수행 할 수 있습니다. 데이터 테이블 그러나, 내가 datagridview 정렬 및 checkMinMax() 다시 호출 할 때 색 여전히 이전 위치에 고정되어 있습니다.
public void setCellBackColor (List<int> rows, int col, Color color)
{
foreach (int row in rows)
{
dataGridView_data.Rows[row].Cells[col].Style.BackColor = color;
}
}
나는 datagridview의 rowId 대신 datatable의 색인을 사용하고 있음을 알고 있습니다. 그래서 내 질문에 거기에 내 datatable의 색인을 rowId에 매핑하는 방법이 있다면 무엇입니까?
또는 내가하고 싶은 것을하기위한 더 좋은 방법이 있습니까?
'List col'과'Color col' 코드는 같은 이름을 가지고 있습니다. 각 루프마다 col이 사용됩니다 (목록 가정).하지만 정수가 필요하지는 않습니다. 여기 목록 있니? 나는 이것이 당신이하고있는 일에 대한 생각을주기위한 의사 코드 일 뿐이라고 추측하고 있습니다. –
Matt
예, 단지 의사 코드 일뿐입니다. 네, 맞습니다. 열은 목록 대신 int입니다. 나는 코드를 업데이트 할 것이다. –