Опять DataGridView. Перебираем SelectedRows

Ваш отзыв

grid

Всем доброго времени суток!
Есть в WinForms такой замечательный контрол, как DataGridView. Он в себе таит много интересных возможностей и… сюрпризов =).
В свое время был даже обнаружен баг, но, к сожалению, не могу его здесь описать, ровно как и воспроизвести его. Суть его заключалась в том, что когда рисовалась форма, в которой был контрол DataGridView, программа могла упасть из-за того, что указатель мыши попадал в аккурат над пересечением строки заголовка колонок и колонки заголовка строк таблицы…
Но сейчас не об этом!

Когда необходимо последовательно обработать выделенные строки в DataGridView, то оказывается, что данный контрол их обрабатывает в обратном порядке. Так, если Вы выделили сначала строку с индексом 1, а потом — с 0, то в цикле foreach сначала обработается строка с индексом 0, а потом уже — с 1.
Учитывая, что мы можем выделять строки в каком угодно порядке, а результат нам необходим не любой, а предсказуемый, то при необходимости мы можем пересортировать выделенные строки.
Пусть myGrid — это имя контрола DataGridView, брошенного предварительно на форму.
Самый простой способ выглядит примерно так:

Далее в коде необходимо обрабатывать не myGrid.SelectedRows, а коллекцию rowList, которая была заранее нами отсортирована методом Sort.


Оставьте комментарий

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> <img src="" alt="" class="" width="" height="">

http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ab.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ac.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ag.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ah.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ai.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ak.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/am.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/an.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ao.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aq.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ar.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/at.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/av.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/aw.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/ay.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/az.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bb.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bc.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/bd.gif 
http://noservice.ru/wp-content/plugins/wp-monalisa/icons/be.gif 
больше...