Zeitraum in Datatable

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Zeitraum in Datatable

    Hallo zusammen,
    gegeben ist ein Dataset mit einer DataTable.
    vorhanden sind 3 Spalten , Date1 , Date2 und Date.
    Die Spalten Date1 und Date2 sind vom DatenTyp DateTime.
    Die Spalte Date hingegen ist vom Datentyp String da es den Zeitraum aus Date1 und Date2 beinhaltet.
    Dies habe ich mit der Expression der Spalte Date gelöst.
    ​Date1 + ' - ' +Date2

    Angezeigt wird wie gewünscht der Zeitraum. Allerdings wird mir auch die Uhrzeit mit angezeigt und genau das möchte ich nicht.

    Date1 und Date2 werden über einen DateTimePicker gewählt, falls das wichtig ist. Ausgabe soll später in einem DataGridView sein.

    Hat jemand eine Lösung oder einen Vorschlag wie ich es anders lösen könnte/sollte?

    Gruß Sven
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.
    Ich oute mich als DataColumn-Expression-Hasser. Kommt mir alles irgendwie VB6-mäßig vor.
    Nicht schön, aber vielleicht reicht's:
    SUBSTRING(CONVERT(Date1, 'System.String'), 1, 10)+' - '+SUBSTRING(CONVERT(Date2, 'System.String'), 1, 10)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Danke euch beiden für die Antworten.
    Wenn Es nicht mehr Stand der Technik ist, wie kann ich das dann anders lösen?

    Edit:
    @VaporiZed
    Danke für das Snippet. Es funktioniert.

    @ErfinderDesRades
    Darf ich annehmen das Generica der Hinweis ist wie man es anders lösen kann?
    Generic ist ein Thema was ich gestern Abend im Löffelmann Buch angefangen habe. Mein können/wissen ist demnach bei diesem Thema noch nicht besonders.
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Akanel“ ()

    VB1963 schrieb:

    spezielle Berechnungen in DataTables
    oder auch Formatierungen:

    VB.NET-Quellcode

    1. Partial Public Class CarsDataTable
    2. Private Sub CarsDataTable_CarsRowChanged(sender As Object, e As CarsRowChangeEvent) Handles Me.CarsRowChanged
    3. RemoveHandler Me.CarsRowChanged, AddressOf CarsDataTable_CarsRowChanged
    4. e.Row.TimeSpanBetween = $"{e.Row.DateOfConstruction.ToShortDateString} - {e.Row.DateOfPurchase.ToShortDateString}"
    5. AddHandler Me.CarsRowChanged, AddressOf CarsDataTable_CarsRowChanged
    6. End Sub
    7. End Class
    oder was auch immer.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    wenns irgend geht, mach mit DataExpression. Das ist besser Datenbank-Kompatibel (ob eine Db nu anvisiert ist oder nicht).
    Weil DataExpression-Spalten werden von DataAdaptern beim Db-Sync automatisch ignoriert, was richtig ist, weil eines der Db-Design-Prinzipien lautet: "berechnete Werte haben inne Db nix verloren!"

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()