Hallo,
Ik heb een probleem. Ik ben bezig met het leren van c#, op mijn eigen. (niet simpel).
Dus ik ben bezig met het programmeren van data die in een listview terecht komt.
Nu wil ik doormiddel van een klik op de data in de listview de onderstaande textboxen worden gevuld.(dit lukt)
Nu wil ik de data aanpassen en opnieuw opslaan op de positie die ik heb aangeklikt.
Alleen wanneer ik dit nu doen, wordt de data onderaan bijgeplaatst, met andere woorden niet op de positie die ik wil.
Kan er mij iemand bij helpen.
Ik heb een probleem. Ik ben bezig met het leren van c#, op mijn eigen. (niet simpel).
Dus ik ben bezig met het programmeren van data die in een listview terecht komt.
Nu wil ik doormiddel van een klik op de data in de listview de onderstaande textboxen worden gevuld.(dit lukt)
Nu wil ik de data aanpassen en opnieuw opslaan op de positie die ik heb aangeklikt.
Alleen wanneer ik dit nu doen, wordt de data onderaan bijgeplaatst, met andere woorden niet op de positie die ik wil.
Kan er mij iemand bij helpen.
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AppData;
using Mybib;
namespace kliklistview
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private int kol;
private int TabSize = 500;
private List<Gegevens> datalist;
private IComparer<Gegevens> Mvgl;
private int nGeg;
private Random gen = new Random(DateTime.Now.Second);
private void Form1_Load(object sender, EventArgs e)
{
lvData.Items.Clear();
lvData.GridLines = true;
lvData.View = View.Details;
lvData.FullRowSelect = true;
lvData.Columns.Add("Nr", 40, HorizontalAlignment.Left);
lvData.Columns.Add("VolgNr", 60, HorizontalAlignment.Left);
lvData.Columns.Add("Naam", 100, HorizontalAlignment.Left);
lvData.Columns.Add("VoorNaam", 100, HorizontalAlignment.Left);
lvData.Columns.Add("GebDatum", 80, HorizontalAlignment.Center);
datalist = new List<Gegevens>();
}
private void btnGen_Click(object sender, EventArgs e)
{
Tabelgeneren(TabSize);
}
private void Tabelgeneren(int size)
{
int loper;
int getal;
nGeg = size;
try
{
for (loper = 0; loper < nGeg; loper++)
{
getal = gen.Next(1, 998);
Gegevens el = new Gegevens(getal);
datalist.Add(el);
}
tonen();
}
catch (Exception x)
{
MessageBox.Show("Foutje" + x.Message);
}
}
private void tonen()
{
lvData.Items.Clear();
int loper = -1;
foreach (Gegevens el in datalist)
{
loper++;
lvData.Items.Add(el.Nr.ToString());
lvData.Items[loper].SubItems.Add(el.Volgnr.ToString());
lvData.Items[loper].SubItems.Add(el.Naam.ToString());
lvData.Items[loper].SubItems.Add(el.Voornaam.ToString());
lvData.Items[loper].SubItems.Add(el.GebDat.ToShortDateString());
}
}
private void lvData_SelectedIndexChanged(object sender, EventArgs e)
{
for (int x = 0; x < lvData.Items.Count; x++)
{
if (lvData.Items[x].Selected)
{
txtVolgNr.Text = lvData.Items[x].SubItems[1].Text.ToString();
txtNaam.Text = lvData.Items[x].SubItems[2].Text.ToString();
txtVoornaam.Text = lvData.Items[x].SubItems[3].Text.ToString();
txtGebDatum.Text = lvData.Items[x].SubItems[4].Text.ToString();
//MessageBox.Show(lvData.Items[x].SubItems[1].Text);
}
}
}
private Gegevens extra;
private void btnBewaar_Click(object sender, EventArgs e)
{
extra = new Gegevens();
extra.Nr = lvData.Items.Count + 1;
extra.Volgnr =long.Parse( txtVolgNr.Text);
extra.Naam = txtNaam.Text;
extra.Voornaam = txtVoornaam.Text;
extra.GebDat = DateTime.Parse(txtGebDatum.Text);
datalist.Add(extra);
tonen();
}
}
}