DataGridView Datatype festlegen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Qualla.

    DataGridView Datatype festlegen

    Hi Leute,

    ich benutze ein DataGridView als Tabelle, die seine Werte aus dem Programm bezieht und dann entsprechend sortiert.
    Das klappt soweit auch problemfrei. Es soll dem Benutzer allerdings auch möglich sein, Daten in der Tabelle manuell zu ändern.
    Wenn er das tun, dann erhalte ich beim nächten Sortiervorgang folgende Fehlermeldung:
    "Das Objekt muss den Typ Double haben"

    Da die Sortierspalte ohnehin nur ganze Zahlen enthält, würde es sich vielleicht anbieten den Data-Type der Spalte von Anfang
    an auf Integer zu setzen. Dann müsste der Benutzer ohne Probleme einen Integer im Feld eintragen können.

    Meine Frage:
    Wie ändere ich den Data-Type einer Spalte bzw. falls möglich, wie lege ich den Data-Type schon vor Programmstart fest?

    Vielen Dank im Voraus
    Nicht, dass ich wüsste. Ein ungebundenes DataGridView ist für mich nicht zu gebrauchen. Leg dem Ganzen halt eine DataTable zugrunde, wo ist das Problem? Eine Datenbank braucht man hierzu nicht, falls Dich das abschreckt.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Momentan erhält das DataGridView seine Werte direkt aus zwei verschiedenen Arrays. Der Weg über eine Datatable
    erscheint mir in dem Fall eher als Umweg, oder nicht?

    Ich hatte gehofft den Type irgendwie in dieser Art festlegen zu können:

    VB.NET-Quellcode

    1. Initabelle.Columns(0).ValueType = TypeOf(integer);


    Nur dass in diesem Beispiel integer unterringelt ist und folgende Meldung kommt:
    Integer ist ein Typ und kann nicht als Ausdruck verwendet werden.
    Wenn dann:

    VB.NET-Quellcode

    1. DataGridView1.Columns(0).ValueType = GetType(Integer)


    Jedoch ist Deine Vorgehensweise ein Umweg.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o