DataGRidView u. BindingSource

liquidbeats

Erfahrenes Mitglied
Nabend,

ich habe ein dataGridView Steueerlement, dessen DataSource ein BindingSource Objekt darstellt. Das Objekt mit Daten fürrtern usw, ist kein Problem, jedoch stehe ich vor dem Problem, dass ich gerne die Reihenfolge der Elemente abändern wollen würde.

Wie kann ich da jetzt Bestenfalls vorgehen um ein Ergebniss zu erreichen?
 
meinst du Sortierung?
in was für einer Liste hälst du die Daten?
Wenn nicht BindingList<T>, probier die mal, die ist für Datenbindung gedacht.
 
Sortieren wäre durchaus auch etwas feines, in erster Linie geht es aber die Reihenfolge der Rows im DataGridView selbst zu bestimmen.

Die Daten selbst befinden sich gegenwärtig in einem BindingSource

Dazu eine Klasse für die Struktur.

PHP:
class B_SOURCE
    {
        private static int lastID = 0;
        private static int Position = 0;

        public int _id;
        public string _Bezeichnung;
        public string _Typ;
        public string _fromTable;
        public string _csv_bez;
        public int _sort;

        public B_SOURCE()
        {
            _id = ++lastID;
            _sort= ++Position;
        }
        public B_SOURCE(string bez,string typ,string fromTbl,string csv_bezeichnung, int sort)
        {
            _id = ++lastID;
            _Bezeichnung = bez;
            _Typ = typ;
            _fromTable = fromTbl;
            _csv_bez = csv_bezeichnung;
            if (sort == 0)
            {
                _sort = ++Position;
            }
            else {
                _sort = sort;
            }
        }


        public int ID //0
        {
            get { return _id; }
        }
        public string Datenfeld //1
        {
            get { return _csv_bez; }
            set { _csv_bez = value; }
        }
        public string Bezeichnung //2
        {
            get { return _Bezeichnung; }
            set { _Bezeichnung = value; }
        }
        public string Typ //3
        {
            get { return _Typ; }
            set { _Typ = value; }
        }
        public string FromTable//4
        {
            get { return _fromTable; }
            set { _fromTable = value; }
        }
        public int SortOrder//5
        {
            get { return _sort; }
            set { _sort = value; }
        }

    }
Hinzugefügt werden die sachen wie folgt

PHP:
BINDING_SOURCE.Add(a1 = new B_SOURCE(PRODUCTS[i]["Field"].ToString(), Definition, table, CustomHeaderDefinition,0));
Ich habe jetzt schon echt Lange gesucht um das Problem zu lösen, bekomme es aber einfach nicht in den griff. :rolleyes:

Ich wäre echt Froh, wenn mir da mal jemand aus dem Dreck Helfen könnte :rolleyes:

Grüße
 
halte deine Objekte in der Liste.
Bei List<T> (Namespace System.Collection.Generics, oder so) zum Beispiel könntest du über das delegate Comparison<T> deine Sortierung bestimmen.
Die Liste selbst übergibst du in dem du z.B. einfach die Eigenschaft Datasource von Grid damit setzt.

Code:
List<B_Source> meineListe=new List<B_Source>();

meineListe.Add(new B_SOURCE(PRODUCTS[i]["Field"].ToString(), Definition, table, CustomHeaderDefinition,0));

...

meinGrid.Datasource=meineListe;
so ungefähr
 
Zurück