Red de conocimiento del abogados - Ley de patentes - C# winform listview ordenando casillas de verificación seleccionadas

C# winform listview ordenando casillas de verificación seleccionadas

El propio ListView proporciona la propiedad ListViewItemSorter para permitir a los usuarios implementar una clasificación personalizada.

Agrega el siguiente código para lograr la función que deseas. ?public?class?ListViewSorterAscending?:?System.Collections.IComparer

{

public?int?Compare(object?x,?object?y)

{

//Lo que necesitamos es ordenar primero todos los elementos seleccionados en orden ascendente y luego ordenar los elementos no seleccionados en orden ascendente

ListViewItem?c1?=?x? as?ListViewItem;

ListViewItem?c2?=?y?as?ListViewItem;

if?(c1.Checked?&&?c2.Checked?||?!c1.Checked ?&&?!c2.Checked)

return?c1.Text.CompareTo(c2.Text);

si?(c1.Checked?&&?!c2.Checked)

retorno?-1;

si?(!c1.Comprobado?&&?c2.Comprobado)

retorno?1;

return?0;

}

}

Genere una instancia del clasificador en algún lugar y asigne la propiedad del comparador de clasificación de ListView: myListView.ListViewItemSorter?= ?new ?ListViewSorterAscending();

En el evento Click del botón, escriba: mylistView.Sort();

Si necesita revertir la clasificación, cambie el clasificador usted mismo.

Nota: El valor de referencia en este ejemplo de clasificación es el atributo Texto del Elemento. Si necesita utilizar otros atributos para ordenar, modifíquelo usted mismo.