Daten in eine Tabelle einlesen (DataGridView)

  • VB.NET

Es gibt 53 Antworten in diesem Thema. Der letzte Beitrag () ist von RazerElite.

    Daten in eine Tabelle einlesen (DataGridView)

    Hallo,

    Ich habe ein Problehm und zwar habe ich in einer Textbox einen Text mit nummern (Telefonnummern). Diese möchte ich herauslesen und in jede Nummer einseln in die Tabelle schreiben...

    Tabelle sieht ca. so aus =

    -------------------------------------------
    | Telefonnummer | Name | Button | Button |
    ...

    ich möchte imoment nur die Telefonnummer Spalte beschreiben... also immer eine Telefonnummer in eine Zeile und dan die nechste...

    WIe bekomm ich es hin das ich die telefonnummern nacheinander reinschreibe? Sind ja mehrere Nummern im Text.
    Das Programm soll alle nummern die im Text sind in die Tabelle schreiben.

    mein Code um die Telefonnummer zu filtern:

    VB.NET-Quellcode

    1. Dim Anfang As Integer = TextBox_Content.Text.IndexOf("0049")
    2. Dim Ende As Integer = TextBox_Content.Text.IndexOf("Up")
    3. TextBox_Telefonnummer.Text = TextBox_Content.Text.Substring(Anfang, Ende - Anfang)


    Und wie mach ich das es das das Programm wenn es eine nummer in die tabelle geschrieben hat bei der nächste weitermacht?

    Was muss ich machen?
    BEi fragen bitte melden :D danke für eure Hilfe .D

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

    Wie sieht der Aufbau deiner Textdatei aus?
    Ist jeder Datensatz in je einer Zeile?
    Hast du die Textdatei von extern (zum einmaligen im- bzw. exportieren) oder sind auch andere möglicherweise bessere Speichermöglichkeiten akzeptabel?

    Besser wäre die Verwendung eines typisierten Dataset mit Databinding zu deinem Datagrid. Das Dataset kann in einem Rutsch alle Daten als xml speichern. dabei wird die meiste Arbeit mittels Designer erledingt.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Also
    1. Ich möchte diese Datei nicht speichern... nur in einem DataGridView anzeigen.
    2. Habe ich die Textdatei aus dem Internet Document.Body.OuterText... die Textdatei ist nicht immer gleich und wird manchmal aktualisiert... das sollte die Tabelle mitbekommen und sich ebenfals aktualsieren. würde ja mit textchanged event gehn... von der TexBox.
    3. Sind die Zeilen nicht immer gleich / die Telefonnummern können da sich die Textdatei ja Aktualsiert in anderen zeilen stehn... auserdem steht zwischen den nummern noch Text... aber mit dem Code von oben bekomm ich zumindest eine nummer imo rausgefiltert.
    Ach ja sry :) Hir:

    Spoiler anzeigen
    Website durchsuchen Suche Erweiterte Suche SektionenMein Phonesty

    Konferenz Termine

    Anrufliste

    Mitschnitte

    Konto

    Ort

    Abmelden

    Navigation

    Tewdwds Dienste

    Besonderheiten

    Preise

    FAQ

    Neues

    Kontakt

    Presse

    Impressum

    Self Service

    Persönliche Einstellungen

    Kontoeinstellungen

    Konferenzeinstellungen

    Administrative Rechte

    Tarifwechsel

    Anleitung downloaden

    Coupon code Konferenzsteuerung (00000)

    Falls Probleme bei der Darstellung auftreten, klicken Sie bitte hier (einfache Version).

    Admin left the conference!

    Close

    Teilnehmer anrufenNummernAnrufen



    Diesem Teilnehmer Gastgeberrechte geben



    Bitte geben Sie hier die Telefonnummern der Konferenzteilnehmer durch
    Kommas getrennt ein. Fuer deutsche Nummern mit Ortsvorwahl (z.B.
    089121405900), fuer internationale Nummern mit Landesvorwahl (z.B.
    0012122023030).

    Sie koennen auch Kurzwahlziffern eingeben (01 - 99).

    Webphone starten



    Screen-Show starten







    Konferenzen verbindenKonferenz-IDTeilnehmer-PINVerbinden



    Geben Sie bitte hier die Konferenz-ID und den Teilnehmer-PIN des anderen
    Konferenzraums ein, um diesen mit Ihrem Raum zu verbinden.





    Konferenz Funktionen











    Aktueller Kontostand

    00.00 Euro



    Wahlwiederholung

    00497275917638

    004972758625

    0049727149528



    Kurzwahl

    name...

    name...

    name...

    name...

    name...

    name...

    naechste



    Ansagen





    Es gibt momentan keine Wortmeldung.



    Zur Zeit befindet sich 1 Teilnehmer in Ihrer Konferenz.



    NummerKostenTaktungStatus

    mixer4:1316779281.35512unmute004915257556653Up
    mixer4:1316779281.35512unmute004915257596785Up
    mixer4:1316779281.35512unmute004915257556867Up
    mixer4:1316779281.35512unmute004915257554573Up





    Tewdwds Dienste Besonderheiten Preise FAQ Neues Kontakt Presse Impressum


    sry der packt absätze rein die normal nich drin sind aber so ist der text... unten steht die nummer

    wenn der text zuslang ist kann ich ihn ja kürzer schneiden lassen per code...

    RazerElite schrieb:

    mixer4:1316779281.35512unmute004915257556653Up
    Also geht es letztlich um diese Zeile hier? Und davon gibt es vermutlich dann mehrere...
    Mit System.IO.File.ReadAllLines kannst du die Datei komplett in ein String-Array einlesen. Jedes Arrayelement enthält 1 Zeile deiner Datei. Da kannste mit ner Schleife durchackern und mit deiner Substringmethode durchsuchen.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:

    RazerElite schrieb:

    Was muss ich machen?
    Ich habe das Gefühl, dass Du Dein Programm noch einmal schreiben solltest.
    Fange an, indem Du die Daten modellierst, leg Dir im Designer eine entsprechende DataTable an und klink die als DataSource an ein DataGridView.
    Dann wird von vorneherein alles ein wenig einfacher und übersichtlicher. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ok hab ich so gemacht aber wo lad ich den Body.Outertext hin String, TextBox, ...?
    Muss ja dan von da us die Daten in die Tabelle einlesen?!

    VB.NET-Quellcode

    1. Dim DataTable As New DataTable
    2. Private Sub Teilnehmer()
    3. DataGridView_Teilnehmer.DataSource = DataTable
    4. End Sub
    Projekt -> hinzufügen -> Komponente -> Dataset
    ----
    Dataset-Toolbox
    ----
    DataTable reinziehen
    diese mit Spalten befüllen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    oh schähm :( sry

    ok hab jetzt die 2 textspalten dirn ... hab mit dem teil noch nie gearbeitet :) deswegen kannte ich das noch nich. ok was mach ich damit jetzt?

    klink ich so an die DataGridVIew an?

    VB.NET-Quellcode

    1. DataGridView_Teilnehmer.DataSource = DataSet_Teilnehmer.???


    oder über die Eigenschaften bei DataGridView -> DataSource?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „RazerElite“ ()

    ok und jetzt? wie füll ich das? mit den nummern aus dem text?
    und die Textdatei wo soll ich sie zwischenspeichern? im string oder texbox?
    und die nummern auslesen tu ich mit ner schleife? oder gibts da was besseres?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „RazerElite“ ()

    Ok das heist ich lese zuerst den Ducument.Body.OuterText in ein String ein...
    und dan filter ich eine nummer nach der anderen per schleife herraus und füge sie in die tabelle ein?
    so ok?

    VB.NET-Quellcode

    1. Dim Text As String '<- Hir wird der Text gespeichert.
    2. Private Sub Teilnehmer()
    3. Text = WebBrowser.Document.Body.OuterText
    4. 'und jetzt die schleife...?! For-Next? oder For Each?!
    5. End Sub
    ok habs jetzt hinbekommen das in einer Textbox jetzt nurnoch Nummern stehn...
    in jeder Zeile eine nummer... wie bekomm ich die jetzt in die tabelle?

    Textdatei sieht so aus:

    Spoiler anzeigen

    00493423423423
    0049346545623423
    004934645654245
    0049342365464623

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

    Bitte benutze die Editierfunktion. Es ist unnötig, für jede neue Zeile einen neuen Post anzulegen. Da kann man diesem Thread irgendwann nicht mehr folgen.

    RazerElite schrieb:

    Textdatei sieht so aus:

    Was denn jetzt wieder für ne Textdatei? Schon mal was von StringArray gehört? Wenn du des Zeugs einmal im Arbeitsspeicher hast, warum willst du des wieder auf die Platte schreiben?
    Außerdem solltest du erstma zeigen, was du bisher versucht hast, um die Tabelle zu füllen, wie dein Datenmodell aussieht usw. Es ist hier dein Thread und etwas Eigeninitiative sollte schon kommen, allein deshalb, weil du hier im Hauptforum bist. :rolleyes:
    Was man bisher erraten kann ist, dass du iwelchen Text aus dem I-Net ziehst, die Telefonnummern raussortierst und diese in einer Textdatei auf Platte speicherst. Was hast du mit den Nummern vor? Zu den Nummern gehören doch sicherlich weitere Informationen.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Danke für deine Antwort und sry wegen der neuen "Antwort".

    Mit "Textdatei sieht so aus:" meine ich nicht eine Textdatei (*.txt) die auf der Platte liegt sondern ein Text in einer TextBox.
    Der Text in der TextBox kommt aus einem Webbrowser den ich mit hilfe von -

    VB.NET-Quellcode

    1. Webbrowser.Document.Body.OuterText

    - auslese und dan anschliesend den inhalt der Textbox so zerlege das nur noch die nummern darin sind, kein text.

    Jetzt will ich nur die einträge der Textbox in die Tabelle übertragen.?!

    Ist das nicht gut mit einer TextBox?

    LG RazerElite

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

    RazerElite schrieb:

    Ist das nicht gut mit einer TextBox?

    Naja, es ist so schlimm nicht, weil es sich sowieso um Strings handelt und nicht wirklich um Zahlen. Man sollte halt darauf achten, Datenverarbeitung von der Präsentation zu trennen. In deinem Beispiel würde man den in Nummern zerlegten Text in einer Liste speichern (List(Of String), Array, Datatable). Dabei entspricht halt jedes Element der Liste einer Telefonnummer. Auch deine Textbox ist letztlich eine Auflistung von Lines, nur dass Steuerelemente nicht Datenhaltung gedacht sind sondern zur Visualisierung. Statt also deine Nummern in die Textbox zu schreiben, schreib sie einfach in eine der oben vorgeschlagenen Auflistungen.
    Da du ja ein Datagridview nutzen möchtest, solltest du die Datatable vorziehen, die daran gebunden ist.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: