Eigene Daten aus einem Array (a,b) wie in einer EXCEL Tabelle bearbeiten

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Eigene Daten aus einem Array (a,b) wie in einer EXCEL Tabelle bearbeiten

    Hallo Leute,

    ich stehe irgendwie auf der Leitung.
    Ich möchte dem User eine Liste von z.B. Artikelnamen anzeigen. Daneben der Einkaufspreis, Verkaufspreis und der Lagerstand.
    Der Artikelname selbst sollte nicht veränderbar sein, die Preise und Lagerstände jedoch schon. Idealerweise so wie wenn man in EXCEL damit arbeiten würde.

    Die Daten liegen in einem Array (alternativ auch in einer Structure) vor.
    Das direkte einspielen aus einer Datenbank oder XML-Tabelle kommt aus verschiedenen Gründen nicht in Frage.

    Was nehme ich da am Besten für ein Control dafür (bitte nur .NET interne Controls).
    Das Datagridview ist mir irgendwie zu aufwändig für dies (mit Dataset und so), das Listview kann nur die erste Spalte editieren.
    Was nehme ich am Besten?

    LG Roland
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
    Das von Dir angesprochene DGV ist dafür genau das richtige. Musst ja kein DataBinding verwenden, kannst ja die Daten manuell reinpumpen. Musst Du dann aber auch wieder manuell rausziehen.
    Aber Das geht auch ohne tDS/XML:
    ne List(Of DeineDaten) erstellen, die als DataSource für ne BindingSource hernehmen und das DGV an die BindingSource koppeln. Fertig. Ich mach mal fix ne DemoApp.

    ##########

    @dive26: fertig. Wenn Du die Daten im DGV änderst, ändern sich auch die Daten in der List(Of Item)
    Dateien
    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.

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

    @VaporiZed

    Vielen Dank für den Hinweis.
    Musst nix zusammenschreiben. Ich denke ich habe es nun genauso hinbekommen.
    Ich habe mir eine Klasse gebastelt und befülle dann das DatagridView mit dem Listof.
    Funktioniert bestens. Danke Dir!

    VB.NET-Quellcode

    1. Private Sub FRM_ArtikelMehrfachbearbeitung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. LadeArtikelDatenbank(0, "")
    3. Dim list = New List(Of CLS_ArtList)
    4. For i As Integer = 1 To MaxArtikelAnzahlLoaded - 1
    5. If Artikelliste(i).Artikelnummer <> "FIS" Then list.Add(New CLS_ArtList(Artikelliste(i).Artikelnummer, Artikelliste(i).Artikelbezeichnung, 1.1, 2.2, 1))
    6. Next i
    7. DataGridView1.DefaultCellStyle.Font = New Font("Microsoft YaHei UI", 9.75)
    8. DataGridView1.ColumnHeadersDefaultCellStyle.Font = New Font("Microsoft YaHei UI", 9.75)
    9. DataGridView1.DataSource = list
    10. DataGridView1.Columns(0).ReadOnly = True
    11. DataGridView1.Columns(1).ReadOnly = True
    12. End Sub

    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
    Vielen Dank für den Tipp.
    Habe es nun mit einer Klasse und ListOf gemacht (arbeite normalerweise immer mit Structs und Arrays) ;-).

    Das Ergebnis sieht dann so aus wie auf dem Anhang zu sehen:
    Bilder
    • 22072022140211.jpg

      349,72 kB, 1.010×761, 51 mal angesehen
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at