none
Button steuert Listview.Checkbox RRS feed

  • Frage

  • Hallo zusammen,

    Ich habe die längste weile eine Lösung über Google gesucht aber leider nichts gefunden.

    Ich habe eine ListView die eine SQL Datenbank Tabelle liest/schreibt. Habe zusätzlich die Checkbox funktion aktiviert und möchte durch die Auswahl der Checkbox + Button Prüfen klick den boolischen wert von 0 auf 1 in der SQL Tabelle ändern. Die Connection ist bei mir im Code.

    Wie ist hier der code in meinem ItemChecked Event?

       public void btnPrüfen_Click(object sender, EventArgs e)
            {
                
            
            }
    
            private void ListView1_ItemChecked(object sender, ItemCheckedEventArgs e)
            {
              
            }

    Danke für die Hilfe im voraus

    Mittwoch, 13. Februar 2019 08:36

Antworten

  • Hi,
    den Code habe ich aus Deinem Post. Ich hatte vermutet, dass mit dem Klick auf die Befehlsschaltfläche die Daten abgespeichert werden sollen.

        private Button btnPrüfen = new Button() { Text = "Start", Dock = DockStyle.Top };
        private ListView ListView1 = new ListView() { CheckBoxes = true, Dock = DockStyle.Fill };
    
        private void Form1_Load(object sender, EventArgs e)
        {
          this.Controls.AddRange(new Control[] { ListView1, btnPrüfen });
          this.btnPrüfen.Click += btnPrüfen_Click;
          for (int i = 1; i < 10; i++) ListView1.Items.Add(new ListViewItem($"Element {i}") { Tag = i });
        }
    
        private void btnPrüfen_Click(object sender, EventArgs e)
        {
          foreach (ListViewItem item in ListView1.Items) SavaData(item.Checked, item.Tag);
        }
    Wenn Du etwas anderes suchst, dann beschreibe bitte genauer, was Du suchst.


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP für Developer Technologies)
    Meine Homepage mit Tipps und Tricks

    • Als Antwort markiert Ivandrago1988 Donnerstag, 14. Februar 2019 12:17
    Mittwoch, 13. Februar 2019 09:41

Alle Antworten

  • Hi,
    hier mal eine Demo, wie man das machen kann, so wie ich es verstanden habe.

    using System;
    using System.Diagnostics;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
        }
    
        private Button btnPrüfen = new Button() { Text = "Start", Dock = DockStyle.Top };
        private ListView ListView1 = new ListView() { CheckBoxes = true, Dock = DockStyle.Fill };
    
        private void Form1_Load(object sender, EventArgs e)
        {
          this.Controls.AddRange(new Control[] { ListView1, btnPrüfen });
          this.btnPrüfen.Click += Button1_Click;
          for (int i = 1; i < 10; i++) ListView1.Items.Add(new ListViewItem($"Element {i}") { Tag = i });
        }
    
        private void Button1_Click(object sender, EventArgs e)
        {
          foreach (ListViewItem item in ListView1.Items) SavaData(item.Checked, item.Tag);
        }
    
        private void SavaData(bool check, object index)
        {
          // Schreiben in Datenbank
          Debug.Print($"{index}: {check}");
        }
      }
    }
    


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP für Developer Technologies)
    Meine Homepage mit Tipps und Tricks

    Mittwoch, 13. Februar 2019 09:11
  • Danke für die rasche Antwort Peter,

    ich verstehe den zusätzlichen Buton_1 leider nicht. Was macht der?

    LG

    Ivandrago1988

    Mittwoch, 13. Februar 2019 09:34
  • Hi,
    den Code habe ich aus Deinem Post. Ich hatte vermutet, dass mit dem Klick auf die Befehlsschaltfläche die Daten abgespeichert werden sollen.

        private Button btnPrüfen = new Button() { Text = "Start", Dock = DockStyle.Top };
        private ListView ListView1 = new ListView() { CheckBoxes = true, Dock = DockStyle.Fill };
    
        private void Form1_Load(object sender, EventArgs e)
        {
          this.Controls.AddRange(new Control[] { ListView1, btnPrüfen });
          this.btnPrüfen.Click += btnPrüfen_Click;
          for (int i = 1; i < 10; i++) ListView1.Items.Add(new ListViewItem($"Element {i}") { Tag = i });
        }
    
        private void btnPrüfen_Click(object sender, EventArgs e)
        {
          foreach (ListViewItem item in ListView1.Items) SavaData(item.Checked, item.Tag);
        }
    Wenn Du etwas anderes suchst, dann beschreibe bitte genauer, was Du suchst.


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP für Developer Technologies)
    Meine Homepage mit Tipps und Tricks

    • Als Antwort markiert Ivandrago1988 Donnerstag, 14. Februar 2019 12:17
    Mittwoch, 13. Februar 2019 09:41