2014-01-10 2 views
0

내 환경 : Windows 7 Ultimate, C#, VS2010 Ultimate, WinForm.DataGridView에서 보이지 않는 행 제거

대상 : 내 응용 프로그램이 1 분 간격으로 DataGridView를 행에 데이터를 추가 윈도우 XP에서 7

에.

내 DataGridView에는 15 개의 행과 8 개의 열이 있습니다.

데이터를 추가 할 때 16 번째. 먼저 DataGridView가 롤업되고 빈 행을 삽입 한 다음이 데이터를이 새 행에 추가합니다.

내 질문 : DataGridView의 롤업 된 행이 아직 메모리에 있습니까?

예인 경우, DataGridView의이 행을 제거하여 DataGridView 메모리에 Visible 행 만 유지하는 방법은 무엇입니까? 사전에

감사합니다, ocaccy

+1

항상 최대 15 개 행을 유지 상수이다. 추가 된 16th가 먼저 제거되면 ('datagridview.Rows [0] .Remove()') – Fabio

+0

안녕하세요,이 코드를 사용하여 새 행을 추가합니다. 개인 무효 tmr_GET_Tick (개체 보낸 사람, EventArgs 전자) { dataGridview1.Rows [0] .Remove(); // 답변에서 이것을 추가하십시오. ar [i, 1], ar [i, 2], ar [i, 3], ar [i, 4], ar [i, 5], ar [i, 6], ar [i, 7]}; dataGridView1.Rows.Add (row); \t} –

+0

안녕하세요. 이미 15 개의 행을 채워야합니다. –

답변

1

가장 빠른 해결 방법은있는 DataGridView에 최대 15 개 행을 계속 다음의 경우
이 작동 할 최대 행 수량

private void tmr_GET_Tick(object sender,EventArgs e) 
{ 
    //copied from your comment 
    string[] row= { ar[i, 0], ar[i, 1], ar[i, 2], ar[i, 3], ar[i, 4], ar[i, 5], ar[i, 6], ar[i, 7]}; 
    dataGridView1.Rows.Add(row); 
    //Check if max rows quantity exceeds and remove first row 
    if (dataGridView1.Rows.Count = 16) 
     dataGridview1.Rows.RemoveAt(0); 
}