#.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, но запись его таким образом больше объясняет, что вы делаете.