Bindingsource richtig casten

  • VB.NET

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

    Bindingsource richtig casten

    So da bin ich mal wieder,

    ich nehme den allgemeinen Ratschlag "Option Strict On" ernst.

    Beim Umschreiben von meinem Code, stehe ich vor folgendem Problem:

    Ich habe einen Bindingsource.
    Da suche ich über find Übereinstimmungen.
    Dann möchte ich mir einen Feldinhalt holen.

    Hier mal die Codeauszug:

    VB.NET-Quellcode

    1. ​bdsLChanges.Filter = ""
    2. index = bdsLChanges.Find("Appl", ApplNameohne)
    3. If index > -1 Then 'Appl in DB vorhanden
    4. DDate = bdsLChanges.Item(index).item("GFileDate")
    5. DateDiff = DateTime.Compare(FDate, DDate) 'verarbeiten


    Nun die Frage: Wie muss ich die Zeile:"DDate = bdsLChanges.Item(index).item("GFileDate")" richtig casten?
    Ich bekomme es nicht hin! ?(

    LG Wolfy
    Nun, das komplexe Teil rechts vom = dürfte vom Typ Object sein, DDate aber vermutlich vom Type Date. So caste Er das rechte Zeugsl in ein Date via Date.Parse und er möge ein Date erhalten, sofern es sich beim komplexen Teil wirklich um ein Date-kompatibles Etwas handele.
    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.
    Zunächst einmal Vielen Dank für die Antwort.

    Ich habe wohl nicht genügend Info´s gegeben.
    DDate ist vom Typ Datum
    das Feld "GFileDate" in der Datatable ist auch vom Typ Datum
    Aber wie muss ich rechts vom = Casten

    Nochmal was Probiert:
    meine Lösung:

    DDate = DirectCast(DirectCast(bdsLChanges.Item(index), DataRowView).Item("GFileDate"), Date)

    Ich war unsicher wo und was ich Casten muß, da ich ja den Index und den Feldnamen angebe.

    Aber es läuft.
    Danke für den entscheidenden Hinweis.

    Wolfy
    Ja, das geht auch. Noch klein Vereinfachung:

    VB.NET-Quellcode

    1. DDate = DirectCast(DirectCast(bdsLChanges(index), DataRowView)("GFileDate"), Date)
    Ein typisiertes Dataset kommt nicht inFrage?
    Weil damit könnte man auch direkt in der typDataTable suchen - ohne jeden Cast.
    Bzw. wenn man von einer Bs ausgeht, dieses einheitlicher gestalten.