ПредишенСледващото

Сортирането на колоните може да се изпълнява от софтуер. Мястото за сортиране глиф предоставя.

Колона, което има стойност по подразбиране NotSortable а. може да се наложи да промените режима за сортиране, ако той съдържа стойностите, които позволяват на смислен сортиране. Например, ако базата данни съдържа номер на колона, показваща състоянието на елементите, тези цифри могат да бъдат показани под формата на съответните икони, свързан с колона колона на базата данни с изображения. След това можете да конвертирате числови стойности на клетки в стойностите на изображението в събитието манипулатор на DataGridView. CellFormatting. В този случай, след прехвърлянето на стойността на имотите на потребителите Автоматична SortMode ще бъдат в състояние да се справи със колоната. Автоматично сортиране дава възможност на потребителите да групират предмети, които имат една и съща държава, дори и ако съответните държави от цифрите не образуват естествена серия. знамена колони са друг пример за ползата от автоматично сортиране на елементите в групите със същото заболяване.

Софтуер за сортиране DataGridView може да се извърши чрез стойностите на колона или в няколко колони, независимо от свойствата SortMode параметри. сортиране на програмата може да се използва, ако искате да си осигурите собствен потребителски интерфейс за сортиране или прилагане на специален механизъм за сортиране. Създаване на собствен сортиране UI може да е необходимо, например, когато се използва като режим на избор на глава DataGridView колона контролирано освобождаване. В този случай, въпреки че заглавията на колоните и не може да се използва за сортиране, че е необходимо още по дялове показва съответния сортиране глиф. Затова SortMode трябва да се настрои към програмен.

Колоните, за които програмата, определени в режим на сортиране, не се показват на сортиране глиф автоматично. Посочете глиф за такива колони трябва да бъде конфигуриран независимо от настройката DataGridViewColumnHeaderCell.SortGlyphDirection собственост. Това е необходимо, за да се постигне гъвкавост в използването на потребителски вид. Например, ако имате нещо DataGridView в няколко графи, може да се наложи да се покаже малко или никакво сортиране глиф.

Въпреки софтуер DataGridView сортиране може да се извършва от всяка колона, някои колони, например колони с ключове не могат да съдържат стойности, които могат да бъдат поръчани по значение. За такива колони за възлагане на стойността на имотите SortMode NotSortable показва, че те няма да бъдат използвани за сортиране и, съответно, не е необходимо да си резервирате място за сортиране глиф.

При сортиране контрол DataGridView може да се определи като сортиране колона и ред на сортиране от стойността на имотите и SortedColumn SortOrder. Тези стойности не правят смисъл, след като по поръчка подобно. За повече информация относно обичай сортиране, вижте. В "Custom сортиране" по-долу.

При сортиране контрол DataGridView. съдържащ и двете свързани и несвързани колони автоматични стойности за спестяване в колони несвързан невъзможно. За да се запази тези ценности трябва да използвате виртуалната режим чрез определяне VirtualMode имот да е вярно и да се справят събития и CellValueNeeded CellValuePushed. За повече информация, вижте. В Как. Изпълнение на виртуален режим за DataGridView контрол в Windows Forms. Сортиране по несвързаните колони в граница режим не се поддържа.

Сортиране контрол DataGridView може да бъде извършена в областта на софтуера, като се обадите Сортирайте.

Претоварване Sort (DataGridViewColumn, ListSortDirection) метод Сортиране взема като параметри и трансфери DataGridViewColumn ListSortDirection. Това претоварване може да се използва за сортиране колони, съдържащи стойности, които могат да се подредят по значение, но за които се използват за автоматично сортиране нежелателно. Когато се обадите това претоварване и прехвърляне на колоната, за да DataGridViewColumnSortMode на стойност. Автоматични свойства SortMode ценности SortedColumn SortOrder свойства и се генерират автоматично и съответно сортиране глиф се появява в заглавието на колоната.

Ако контролната DataGridView елемент е свързан с външния източник на данни, като се посочва свойства DataSource. метод претоварване Sort (DataGridViewColumn, ListSortDirection) не работи за несвързани колони. Също така, ако VirtualMode собственост е настроена да е вярно. Наричаме това претоварване е възможно само за обвързани колони. За да се определи дали колоната е свързан, той може да се основава на IsDataBound на стойността на имота. Сортиране несвързани колони в подвързан режим не се поддържа.

DataGridView контрол може да се регулира с помощта на претоварване сортиране (IComparer) Сортиране метод или чрез третиране SortCompare събития.

Претоварване метод на сортиране (IComparer) приема като параметър например, че изпълнява интерфейс IComparer. Това претоварване може да се използва, ако е необходимо, за да предостави на потребителя механизъм за сортиране, например, когато стойностите в колоната които нямат естествен ред сортиране или сортиране неподходящи естествения ред. В този случай, използването на автоматично сортиране не е възможно, обаче, сортиране, като кликнете върху заглавките на колоните може да се желае. Ако заглавията на колоните не се използват за изолацията, това претоварване може да бъде достъпен в събитието манипулатор ColumnHeaderMouseClick.

метод претоварване Sort (IComparer) работи само ако контрол DataGridView не е свързан към външен източник на данни, както и VirtualMode собственост е настроена да лъжа. За да персонализирате сортиране на колони свързани с външен източник на данни, трябва да се използват за сортиране на операциите, които се поддържат от източника на данни. Във виртуалния режим, операцията по сортиране за несвързани колони необходимо да се предоставят на своите собствени.

За да използвате метод претоварване Sort (IComparer) е необходимо да създадете свой собствен клас, който реализира интерфейса IComparer. В съответствие с изискванията на този интерфейс в класа трябва да се прилагат по метода на IComparer. Сравнете. DataGridView която минава като вход обекти DataGridViewRow метод претоварване повикване Sort (IComparer). С този правилен ред на редовете може да се изчисли въз основа на стойностите, които се съдържат в една от колоните.

метод претоварване Sort (IComparer) не е настроен и SortedColumn SortOrder свойства. така да се покажат за сортиране Glyph свойства могат да бъдат настроени DataGridViewColumnHeaderCell.SortGlyphDirection стойност.

Като алтернатива претоварване метод Sort (IComparer) обичай сортиране може да се реализира чрез използване SortCompare събитие манипулатор. Това събитие се случва, когато кликнете върху заглавията на колоните, които са конфигурирани като автоматично сортиране или когато се обадите на претоварване Sort (DataGridViewColumn, ListSortDirection) метод на сортиране. Събитията се генерира за всяка двойка редове в областта на контрола, което го прави възможно да се определи правилното им ред.

SortCompare събитие не се случи, ако е определен на имота, или ако VirtualMode DataSource имот е вярно.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!