bestimmte Einträge in Listview bearbeiten

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von K_K.

    bestimmte Einträge in Listview bearbeiten

    Hey Leute :)

    ich habe folgendes problem, und zwar möchte ich bestimmte eintäge meiner Listview ändern, dabei aber nicht das geänderte listviewitem erneut hinzufügen, sondern eifach nur editieren..

    ich wollte fragen, ob das generell möglich ist, und wenn ja, wie ?
    mir fällt dazu echt nix mer ein,

    ~MFG~
    danke erstmal, habs schonmal selbst so probiert gehabt, doch des gibt nen fehler :D

    VB.NET-Quellcode

    1. ListView1.SelectedItems(0).SubItems(4).Text = TextBox6.Text


    Fehler:

    Quellcode

    1. {"InvalidArgument=Value mit dem Wert 4 ist für index ungültig. Parametername: index"}
    sehr vielen dank :)
    jetzt muss ich nurnoch iwi herrausfinden, welcher index gewählt ist,
    hab scho viel probiert,
    viel ge-sufu't
    hab aber immer nich sachen rausbekommen wie :

    VB.NET-Quellcode

    1. ListView1.SelectedItems(0).index

    das problem dabei ist, das dort schon der index angegeben ist...

    gibt es denn ne möglichkeit es herrauszufinden ?

    bei listbox wars ja :

    VB.NET-Quellcode

    1. ListBox1.SelectIndex

    aber des geht ja bei listview nich ...
    ja, das könnte ich erklären :)
    ich arbeite grad mit nem Listview und einem ContextMenuStrip
    ich hab in meinem contextmenustript eine funktion, mit der ich bei einem rechtsklick auf ein listviewitem die 3 spaöte des listviewitems ändern kan...

    dami dies bei jeder zeile funktioniert, brauche ich den index, und den bekomme ich nicht durch
    :

    VB.NET-Quellcode

    1. ListView1.SelectedItems(0).index

    herrauszubekommen ist, da ja damit immernur der index 0 bei mir auskommt, durch die zahl 0 in dem code,

    bitteschön, jetzt hab ichs erklärt, ich hoffe du hilfst mir jetzt :)

    /edit:

    da sag ich mal gans einfach ups... habs schon selbst rausgefunden :)

    ist erledigt

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

    K_K schrieb:

    bitteschön, jetzt hab ichs erklärt, ich hoffe du hilfst mir jetzt

    *lach* erklärt hast Du es , allerdings bin ich jetzt genauso schlau wie vor ;)

    Wenn Du einen Rechtsclick auf ein ListviewElement machst, so öffnet sich Dein Contextmenu. Das passiert auch wenn Du in einen leeren Bereich des Listviews klickst. Nun gibt es 2 Möglichkeiten:
    - kein Element ist selektiert SelectedItems.Count ist =0
    - es sind Elemente selektiert, das erste davon kannst Du mit SelectedItems(0) ermitteln, das Ergebnis ist eine Instanz der Klasse ListViewItem

    Jetzt kannst Du doch in der Methode für Dein Contextmenu alles mit diesem ListviewItem machen: seine SubItems ändern oder was auch immer, die Position dieses ListviewItems (=Index) in dem Listview brauchst Du garnicht.

    Wenn Du so sehr daran hängst, bekommst Du den Index natürlich über die Funktion Listview1.Items.indexOf(...)

    Ein anderer eleganterer Ansatz , unabhängig von SelectedItems, wäre jedem ListviewElement in Deinem Listview dein ContextMenu zuzuweisen und nicht dem Listview selber. Wenn dann Dein ContextMenu aufgerufen wird, steht das angeclickte Listviewitem in der Property ContextMenu.SourceControl.
    ja, wie ich schon in meinem vorherigen beitrag geschrieben habe, es hat sich erledigt, hatte es dann doch selbst herrausgefunden :)


    ja, das hab ich gestern auch immernoch selbst rausgefunden ;)
    ich hatte ein feler in meinem code, deswegen kam da immer nur 0 raus :D

    bla schrieb:

    Bei Listview wär das LV.FocusedItem.index

    ok, das hatte ich nicht ghefunden, wenn das geht, werd ichs iwan bestimmt nochmal brauchen

    Kangaroo schrieb:

    Zitat von »K_K«
    bitteschön, jetzt hab ichs erklärt, ich hoffe du hilfst mir jetzt
    ______

    *lach* erklärt hast Du es , allerdings bin ich jetzt genauso schlau wie vor ;)

    Wenn Du einen Rechtsclick auf ein ListviewElement machst, so öffnet sich Dein Contextmenu. Das passiert auch wenn Du in einen leeren Bereich des Listviews klickst. Nun gibt es 2 Möglichkeiten:
    - kein Element ist selektiert SelectedItems.Count ist =0
    - es sind Elemente selektiert, das erste davon kannst Du mit SelectedItems(0) ermitteln, das Ergebnis ist eine Instanz der Klasse ListViewItem

    Jetzt kannst Du doch in der Methode für Dein Contextmenu alles mit diesem ListviewItem machen: seine SubItems ändern oder was auch immer, die Position dieses ListviewItems (=Index) in dem Listview brauchst Du garnicht.

    Wenn Du so sehr daran hängst, bekommst Du den Index natürlich über die Funktion Listview1.Items.indexOf(...)

    Ein anderer eleganterer Ansatz , unabhängig von SelectedItems, wäre jedem ListviewElement in Deinem Listview dein ContextMenu zuzuweisen und nicht dem Listview selber. Wenn dann Dein ContextMenu aufgerufen wird, steht das angeclickte Listviewitem in der Property ContextMenu.SourceControl.
    jap, danke ;)

    hatte hald nen blöden fehler drinne :D

    aber DANKE an alle die mir helfen wollten :)