Hallo User der Entwickler-Ecke,
ich komme mit dem Thema Databinding nicht ganz klar.
Kurz Vorweg:
Wenn ich es richtig verstanden habe dann geht es bei Databinding darum bestimmte ohne großen Aufwand in beispielsweise Datagridview einzutragen.
Ist die Idee schonmal richtig?
Zu meinem Programm:
1. Habe AutogenerateColumns in der Gridview deaktiviert weil ich die Spalten gerne selber anpassen möchte.
2. Es gibt eine Klasse "Person"
3. Klasse Person enthält die Attribute "Name", "Alter", Größe
3. Es gibt eine BindingList<Person> in die alle Personen eingetragen sind
4. Bindinsource der Gridview ist die Bindinglist
Zu den Fragen:
Ist der Ansatz von der Idee her richtig oder wird das normal anders verwendet?
Ich möchte nun 2 Spalten erstellen. Name und Alter
Wie kann ich es nun einstellen das die Werte der passenden Spalte zugeordnet werden?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| class Person {
public string m_Name { get; set; } public int m_Alter { get; set; } public int m_Groeße;
public Person(string name, int alter) { m_Name = name; m_Alter = alter; } } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| { public partial class Form1 : Form { public Form1() { InitializeComponent(); } BindingSource bs = new BindingSource(); BindingList<Person> _list = new BindingList<Person>();
private void Form1_Load(object sender, EventArgs e) { bs.DataSource = _list; dgv1.AutoGenerateColumns = false; dgv1.DataSource = bs; dgv1.ReadOnly = true; }
private void bHinz_Click(object sender, EventArgs e) { string Name = tbName.Text; int Alter = Int32.Parse(tbAlter.Text); Person objPerson = new Person(Name, Alter); _list.Add(objPerson); } } } |
vielen vielen Dank schonmal für die Hilfe.
mfg Dabra
Moderiert von
Th69: Titel geändert (DataGridView anstatt GridView).