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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
using System.ComponentModel;
using System.Data;
using System.Windows.Forms;
namespace TestDgv
{
public partial class Form1 : Form
{
public List<Espece> Especes = [];
public List<Elevage> Elevages = [];
public Form1()
{
InitializeComponent();
this.SuspendLayout();
LoadData();
FillGrid1();
FillGrid2();
txt1.DataBindings.Add(new Binding("Text", Elevages[2], "Nom"));
this.ResumeLayout();
}
private void LoadData()
{
Especes.Add(new(1, "Cheval"));
Especes.Add(new(2, "Poule"));
Especes.Add(new(3, "Vache"));
Elevages.Add(new(1, "Pré fleuri", "2"));
Elevages.Add(new(2, "Champ vert", "1"));
Elevages.Add(new(3, "Moulin doré", "3"));
}
private void FillGrid1()
{
dgv1.AutoGenerateColumns = false;
DataGridViewTextBoxColumn colCode = new()
{
DataPropertyName = "Code",
ValueType = typeof(int),
};
dgv1.Columns.Add(colCode);
DataGridViewTextBoxColumn colNom = new()
{
DataPropertyName = "Nom",
ValueType = typeof(string),
};
dgv1.Columns.Add(colNom);
DataGridViewComboBoxColumn colEspece = new()
{
DataPropertyName = "Espece",
ValueType = typeof(string),
DataSource = Especes,
DisplayMember = "Nom",
ValueMember = "StringCode",
};
dgv1.Columns.Add(colEspece);
foreach (Elevage elevage in Elevages)
{
int lineNumber = dgv1.Rows.Add();
dgv1.Rows[lineNumber].Cells[0].Value = elevage.Code;
dgv1.Rows[lineNumber].Cells[1].Value = elevage.Nom;
dgv1.Rows[lineNumber].Cells[2].Value = elevage.Espece;
}
}
private void FillGrid2()
{
dgv2.AutoGenerateColumns = false;
DataGridViewTextBoxColumn colCode = new()
{
DataPropertyName = "Code",
ValueType = typeof(int),
};
dgv2.Columns.Add(colCode);
DataGridViewTextBoxColumn colNom = new()
{
DataPropertyName = "Nom",
ValueType = typeof(string),
};
dgv2.Columns.Add(colNom);
DataGridViewComboBoxColumn colEspece = new()
{
DataPropertyName = "Espece",
ValueType = typeof(string),
DataSource = Especes,
DisplayMember = "Nom",
ValueMember = "StringCode",
};
dgv2.Columns.Add(colEspece);
dgv2.DataSource = Elevages;
}
}
public class Espece
{
public int Code { get; set; }
public string StringCode {
get
{
return Code.ToString();
}
}
public string Nom { get; set; }
public Espece(int code, string nom)
{
Code = code;
Nom = nom;
}
}
public class Elevage
{
public int Code { get; set; }
public string Nom { get; set; }
public string Espece { get; set; }
public Elevage(int code, string nom, string espece)
{
Code = code;
Nom = nom;
Espece = espece;
}
}
}
Le source complet : |
Partager