Обратный цикл через GridView и получение последних записей, VB.Net

#.net #vb.net

#.net #vb.net

Вопрос:

Я знаю, как перебирать GridView и извлекать каждую строку, используя цикл for each, как показано ниже, но я искал простой способ перебрать datagrid и, скажем, извлечь последние 20 строк? Возможно ли пройти в обратном порядке в vb.net ?

 For Each row As GridViewRow In InventHistoryGridView.Rows

Next row
  

Комментарии:

1. ну, вы можете выполнить цикл for next, начиная со строк. Считайте и уменьшайте до 0 с шагом -1. Как обычно в таких случаях, в любом случае возникает вопрос: почему вы выполняете цикл против / через элемент управления пользовательского интерфейса (Grid), а не на исходном источнике данных?

2. Данные возвращаются из многочисленных таблиц и просто отображаются в Gridview, поэтому на самом деле не могут перебирать исходные данные, как было предложено.

Ответ №1:

Строки — это просто представление коллекции строк в GridView

 For i = ((Rows.Count - 1) - 20) To Rows.Count -1
   'do some cool stuff
Next
  

Если только вам специально не нужно начинать с последней строки и двигаться назад, в котором вы делаете, как предложил Давиде Пирас в своем комментарии, показанном ниже.

 For i = Rows.Count -1 To ((Rows.Count - 1) - 20) Step -1
    'do some cool stuff
Next
  

Комментарии:

1. Вы могли бы поместить строки. Количество — 21, но запись его таким образом больше объясняет, что вы делаете.