2010-06-23 3 views
0

행을 추가 할 때 전체 DataGridview 클라이언트 영역에서 눈금 선을 표시하는 대신 그리드 선을 표시하는 방법이 있습니까?DataGridView 전체 클라이언트 영역에서 눈금 선을 표시하는 방법?

나는 msdn을 읽었지만 아무것도 사용하지 않습니다.

C 번호, 윈폼, 비주얼 스튜디오 2008

감사, R.

+0

네오는 무엇입니까? – Luiscencio

+0

키 마스터를 찾으려면. – flavour404

+0

Luiscencio, 스타일 문제 일뿐입니다. 저는 listview를 좋아하지만 DataGrid의 기능이 필요합니다. – flavour404

답변

0

당신은 그리드에 더미 행의 힙을 추가하고 읽기 전용으로 만들 수 있습니다.

+0

나는 그것에 대해 생각해 봤지만 더미 행을 다루기 시작하는 것보다 '그리드 선을 켜는'데 사용할 수있는 '적절한'방법이나 설정이 있는지 찾아야했습니다. 하지만 고마워, R. – flavour404

3

DataGridView를 서브 클래스로 만들고, PaintBackground 이벤트를 재정의하고 일부 이미지를 추가 할 수 있습니다. 일부 예는 See herehere입니다.

나는 이것이 약간의 해킹임을 알고 있습니다. :)

+0

앤디, 나는이 대답을 향해 기울이고있다. 아직 갈 시간이 없다. 결과를 알려줄 것이다. – flavour404

0

내가 datagrid에 행 수가 많고 설정 파일에서 가져온 문제가 발생했습니다. 행 수가 적 으면 DataGrid가 회색 배경색으로보기 흉하게 보입니다. 토론 후에 우리는 DataGrid 높이를 동적으로 만들려고했습니다. 그 차례로 그 높이뿐만 아니라 변경 datagrid 위치 부모 창을 걸립니다. 이제 꽤 괜찮아 보입니다. 이것은 귀하의 질문에 정답이 아니라 오히려 스타일 문제를 고려하십시오.

0
int MAX_ROWS = 10; 
int MAX_CELLS = 10; 
dataGridView1.ColumnCount = MAX_CELLS; 
int currentRowIndex = dataGridView1.Rows.Add(MAX_ROWS); 
foreach (DataGridViewRow row in dataGridView1.Rows) 
{ 
    foreach (DataGridViewCell cell in row.Cells) 
    { 
     cell.ValueType = typeof(String); 
     cell.Value = "This is the: " + cell.OwningColumn.Index.ToString() + 
      " " + cell.OwningRow.Index.ToString() + " cell"; 
    } 
} 

나는 그것이 최선의 해결책은 아니지만 새로운 DataGridView와 같은 사용자 지정 컨트롤을 만들 필요가 없다는 것을 알고 있습니다.

+0

아래 Gary와 이미 논의한 바에 따라 더미 열과 행을 추가하고 싶지는 않지만 제안 사항에 대해 감사드립니다. – flavour404

1

나는 Andy의 제안과 가상 모드 중 하나를 선택하겠다.

그리드보기의 가상 모드에서는 컨트롤에서 여러 이벤트를 처리하여 데이터 저장소에 대한 인터페이스를 제공해야합니다. 이 경우 RowCount 속성을 직접 설정할 수 있으며 셀에 데이터가 포함되어 있는지 여부를 CellValueNeeded 이벤트에서 결정할 수 있습니다. 귀하의 컨트롤을 채울 행 수를 결정해야합니다. http://msdn.microsoft.com/en-us/library/ms171622.aspx

+0

나는 그것이 전에 만난 적이 없지만 순간에 나는 앤디의 제안에 기대고있다 나는 가상 모드를 조사해야합니다. 내가 그것을 구현하려고 할 때 나는 당신에게 결과를 알려줄 것이다. 제안 해줘서 고마워. – flavour404

관련 문제