Bonjour,
Je vous explique mon problème.
J'ai un DataGridView que je rempli comme suit
Dans ma forme je laisse l'utilisateur ajouter des professions avec leur IdNational.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var proffessions = MainForm.context.Profession_Set; dataGridViewProffession.DataSource = proffessions; dataGridViewProffession.Columns[0].Visible = dataGridViewProffession.Columns[3].Visible = dataGridViewProffession.Columns[4].Visible = false; dataGridViewProffession.Columns[1].HeaderText = "Title"; dataGridViewProffession.Columns[2].HeaderText = "National ID";
Mon problème est que je ne voudrais pas qu'il m'insére dans le datagridView une profession qui existe déjà.
Donc dans l'événement du datagridview celle validating, j'ai mis le code suivant :
Par ce code je veux parcourir tous les éléments du datagridview et vérifier si la cellule que je viens d'insérer existe déjà. Ceci dit, au moment de l'execution rien ne se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 private void dataGridViewProffession_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { bool essai = false; int i = dataGridViewProffession.Rows.Count; if ((e.RowIndex != 0) && (e.ColumnIndex != 0)) { foreach (DataGridViewRow row in dataGridViewProffession.Rows) { if ((this.dataGridViewProffession.Rows[e.RowIndex - 1].Cells[e.ColumnIndex - 1].ToString() == row.Cells[1].ToString()) || (this.dataGridViewProffession.Rows[e.RowIndex - 1].Cells[e.ColumnIndex - 1].ToString() == row.Cells[2].ToString())) { essai = true; } } if (essai == true) MessageBox.Show(MainForm.locRM.GetString("STOP"), MainForm.locRM.GetString("Erreur"), MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Je vous remercie de me répondre et bonne journée.
Partager