Forum: PC-Programmierung c# listview nach column sortieren


von grundschüler (Gast)


Lesenswert?

hallo,

Problem mit listview:
1
using System.Windows.Forms;
2
using System.Collections;
3
4
5
6
namespace KMV_WAWI
7
{
8
         public partial class Form1 : Form
9
    {
10
      
11
        private int ColumnToSort;
12
        private SortOrder OrderOfSort;
13
        private CaseInsensitiveComparer ObjectCompare;
14
15
16
        private ListViewColumnSorter lvwColumnSorter;
17
18
        public Form1()
19
        {
20
            InitializeComponent();
21
            // Create an instance of a ListView column sorter and assign it
22
            // to the ListView control.
23
            lvwColumnSorter = new ListViewColumnSorter();
24
     =>       this.listView1.ListViewItemSorter = lvwColumnSorter;
25
26
        }
27
 
28
29
....
30
31
  internal class ListViewColumnSorter
32
    {
33
   }

nach Anleitung von ms, hängt bei >lvwColumnSorter<

In der class ListViewColumnSorter müsste dazu doch was drin stehen???

Fehlermeldung:
Compiler Error CS0266
Cannot implicitly convert type 'type1' to 'type2'. An explicit 
conversion exists (are you missing a cast?)

This error occurs when your code tries to convert between two types that 
cannot be implicitly converted, but where an explicit conversion is 
available. For more information, see Casting and Type Conversions.


Was mache ich falsch?

von Jim M. (turboj)


Lesenswert?

Man muss das Beipiel aus der MSDN Doku nur vollständig abschreiben:
1
 internal class ListViewColumnSorter: IComparer
2
    {
3
public int Compare(object x, object y)
4
        {
5
6
//...
7
    }
8
}

: Bearbeitet durch User
von grundschüler (Gast)


Lesenswert?

Jim M. schrieb:
> Man muss das Beipiel aus der MSDN Doku nur vollständig abschreiben:

Danke, du hast mir weitergeholfen. Mit dem ms-Beispielcode geht es zwar 
immer noch nicht, aber ich meine jetzt das Problem mit der Klasse 
verstanden zu haben.

Funktionierenden code habe ich hier gefunden:
https://www.c-sharpcorner.com/uploadfile/nipuntomar/sort-a-multicolumn-listview-in-C-Sharp/#:~:text=Sort%20a%20Multicolumn%20ListView%20in%20C%23%201%20Below,3%20Result%20%28first%20column-%20Name%29%3A%20Sorting%20Dates%20

Ich hatte als Hilfslösung eine zusätzliche Spalte 0 eingefügt, in die 
ich die zu sortierende Spalte kopiert hatte. Dann ging es mit 
listview.sort.

Aber mit   >public class ItemComparer : IComparer< geht es um Welten 
schneller.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.