2014-01-10 62 views
0
可見行

我的環境: Windows 7旗艦版,C#,Visual Studio 2010旗艦版,WinForm的。刪除不從DataGridView

目標:Windows無法XP到7

我的應用程序增加了一個數據一個DataGridView行以1個分鐘的間隔。

我的DataGridView有15行8列。

在第16次添加數據;首先DataGridView將捲起來,插入一個空行,然後將數據添加到這個新行中,對吧?

我的問題:DataGridView中的捲起行仍然在內存?

如果是,如何刪除DataGridView的這一行,在DataGridView內存中只保留可見的行?

由於提前, ocaccy

+1

始終保持最大15行。如果添加第16次刪除第一('datagridview.Rows [0] .Remove()') – Fabio

+0

嗨,我使用此代碼添加一個新行。 私人無效tmr_GET_Tick(對象發件人,EventArgs的) { dataGridview1.Rows [0]卸下襬臂(); //從你的答案中加入這個,好嗎? string [] row = {ar [i,0],ar [i,1],ar [i,2],ar [i,3],ar [i,4],ar [i,5] [i,6],ar [i,7]}; (row); dataGridView1.Rows.Add(row); \t} –

+0

你好,我們應該放哪些條件已經填滿了15行? –

回答

1

最快的解決方案保持最大15排在你的datagridview:
這會如果你的工作排的最大數量是恆定的

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); 
}