2013-09-29 68 views
1

所以作爲問題說,是有可能從一個刪除一行到b我已經試過像這樣的刪除行的DataGridView從X到Y

 Dim dgv As DataGridViewRowCollection = DataGridView1.Rows 

    For Each rw As DataGridViewRow In dgv 
     Console.WriteLine(rw.Index) 
     If (rw.Index > iNbrRow) Then 
      If (Not rw.IsNewRow) Then 
       Console.WriteLine("Delete : " & rw.Index) 
       'dgv.RemoveAt(rw.Index) 
      End If 
     End If 
    Next 

一對夫婦的事情,但問題是每次行被刪除的指數變化,因此唐,T全部刪除

PS:iNbrRow =的行數 - 誰是在窗體加載初始化

Thankcx希望你們能幫2:S

+0

爲什麼你要標記c#和vb?顯然這是VB。 – paqogomez

+0

@paqogomez我刪除了它我我只是點擊太快或點點滴滴,我的不好 – Mokmeuh

+0

你也可以用linq全部選中它們並一舉刪除它們。 'dgv.Where(rw => rw.Index> iNbrRow &&!rw.IsNewRow);' – paqogomez

回答

2

這不會h如果你在gridview結尾處開始後退:

For i As Integer = gView1.Rows.Count-1 To 0 Step -1 
    If i > iNbrRow then 
    ' delete the row 
    end if 
Next i 
+0

OF COURSE .... I現在感覺很笨拙....謝謝你,先生 – Mokmeuh

+0

沒問題 - 我們習慣了「爲每一個」,忘記了方向。 – xpda

+0

是的......是的,我們是 – Mokmeuh