Sélection garantie de ligen de grille C#
ayouta.gfs
Messages postés
62
Date d'inscription
Statut
Membre
Dernière intervention
-
ayouta.gfs Messages postés 62 Date d'inscription Statut Membre Dernière intervention -
ayouta.gfs Messages postés 62 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur un projet sous C# .net où j'utilise un datagrid
je veux garantir qu'avant par exemple la suppression d'une ligne de grille (datagrid) , la ligne soit sélectionnée par l'utilisateur !
Comment est l'instruction ? et c'est quoi son espace de noms que je dois utiliser ?
merci pour la réponse
Je travaille sur un projet sous C# .net où j'utilise un datagrid
je veux garantir qu'avant par exemple la suppression d'une ligne de grille (datagrid) , la ligne soit sélectionnée par l'utilisateur !
Comment est l'instruction ? et c'est quoi son espace de noms que je dois utiliser ?
merci pour la réponse
A voir également:
- Sélection garantie de ligen de grille C#
- Garantie g30 - Guide
- Grille tombola vierge à imprimer 50 cases - Télécharger - Création musicale
- Grille tarifaire sosh - Accueil - Guide opérateurs et forfaits
- Illustrator cadre de sélection disparu ✓ - Forum Illustrator
- Modèle grille tombola excel ✓ - Forum Excel
8 réponses
Slt il te suffit juste de mettre un condition par exemple
Le deuxieme cas peut te servir pour caster dans un type personnel exemple tu affiche des données personnel de type Humain:
Tu peux crée une
en ensuite tu peux faire
if(datagrid.selectedItems.Count == 0)ou
if ( datadrid.selectedItems[0] == null)
Le deuxieme cas peut te servir pour caster dans un type personnel exemple tu affiche des données personnel de type Humain:
public string Civilité{get;set;} public string Nom{get;set;} public string Prénom{get;set;}
Tu peux crée une
List<Humain>et faire
datagrid.ItemsSource = Talist" List<Humain>";
en ensuite tu peux faire
var a = datagrid.selectedItems[0] as Humain;
if(a!=null) { a.Nom...... }
Salut , Merci bien pour votre passage
une question ,
if(datagrid.selectedItems.Count == 0)
ou
if ( datagrid.selectedItems[0] == null)
que signifie exactement ? svp
une question ,
if(datagrid.selectedItems.Count == 0)
ou
if ( datagrid.selectedItems[0] == null)
que signifie exactement ? svp
selectedItems et de type IList<> c'est a dire que tu as une propriete qui permet de connaitre le nombre d'element dans cette liste la propriete c'est le Count donc si count == 0 cela veut dire que tu as aucun element selectionné et donc rien ne sert de continue ton traitement.
pour
if ( datagrid.selectedItems[0] == null) etant donnée que c'est une liste (cf plus haut) tu accéde aux donnée comme pour un tableau avec les [] et comme le premier index et 0 et si le premier index et vide cela veut dire que tu n'as pas de ligne selectrionné
pour
if ( datagrid.selectedItems[0] == null) etant donnée que c'est une liste (cf plus haut) tu accéde aux donnée comme pour un tableau avec les [] et comme le premier index et 0 et si le premier index et vide cela veut dire que tu n'as pas de ligne selectrionné
Bien , merci Nico# ,
mé le problème c'est ca marche pas dans mon code ! :'(
la condition n'est pas satisfaisante , soit je présélectionne ou non ! l'exécution passe ! une autre solution possible , vraiment ... !!
mé le problème c'est ca marche pas dans mon code ! :'(
la condition n'est pas satisfaisante , soit je présélectionne ou non ! l'exécution passe ! une autre solution possible , vraiment ... !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Volà mon code :)
if (this.gridEXEmp.SelectedItems.Count !=0)
{
DialogResult réponse = MessageBox.Show("Voulez vous vraiment Supprimer cet Employé?!", "Suppression", MessageBoxButtons.YesNo);
if (réponse == DialogResult.Yes)
{
try
{
String chcnx = "DELETE FROM Employé WHERE Matricule= @Matricule";
usrconnection uc = new usrconnection();
SqlConnection cnx = usrconnection.Connexion();
SqlCommand cmd = new SqlCommand(chcnx, cnx);
SqlParameter par = new SqlParameter("@Matricule", SqlDbType.BigInt, 8);
cmd.Parameters.Add(par);
par.Value = gridEXEmp.SelectedItems[0].GetRow().Cells["Matricule"].Text;
cmd.ExecuteNonQuery();
MessageBox.Show("Employé Supprimé");
this.gridEXEmp.Hide();
GridEmp frmT = new GridEmp();
frmT.ShowDialog();
usrconnection.clscnx(cnx);
}
catch (SqlException)
{
MessageBox.Show("Suppression impossible");
}
}
}
else { MessageBox.Show("Vous devez séléctionnez l'employé à supprimer ", "STOP"); }
if (this.gridEXEmp.SelectedItems.Count !=0)
{
DialogResult réponse = MessageBox.Show("Voulez vous vraiment Supprimer cet Employé?!", "Suppression", MessageBoxButtons.YesNo);
if (réponse == DialogResult.Yes)
{
try
{
String chcnx = "DELETE FROM Employé WHERE Matricule= @Matricule";
usrconnection uc = new usrconnection();
SqlConnection cnx = usrconnection.Connexion();
SqlCommand cmd = new SqlCommand(chcnx, cnx);
SqlParameter par = new SqlParameter("@Matricule", SqlDbType.BigInt, 8);
cmd.Parameters.Add(par);
par.Value = gridEXEmp.SelectedItems[0].GetRow().Cells["Matricule"].Text;
cmd.ExecuteNonQuery();
MessageBox.Show("Employé Supprimé");
this.gridEXEmp.Hide();
GridEmp frmT = new GridEmp();
frmT.ShowDialog();
usrconnection.clscnx(cnx);
}
catch (SqlException)
{
MessageBox.Show("Suppression impossible");
}
}
}
else { MessageBox.Show("Vous devez séléctionnez l'employé à supprimer ", "STOP"); }
if (this.gridEXEmp.SelectedRows.Count !=0) { DialogResult réponse = MessageBox.Show("Voulez vous vraiment Supprimer cet Employé?!", "Suppression", MessageBoxButtons.YesNo); if (réponse == DialogResult.Yes) { try { String chcnx = "DELETE FROM Employé WHERE Matricule= @Matricule"; usrconnection uc = new usrconnection(); SqlConnection cnx = usrconnection.Connexion(); SqlCommand cmd = new SqlCommand(chcnx, cnx); SqlParameter par = new SqlParameter("@Matricule", SqlDbType.BigInt, 8); cmd.Parameters.Add(par); par.Value = gridEXEmp.SelectedItems[0].GetRow().Cells["Matricule"].Text; cmd.ExecuteNonQuery(); MessageBox.Show("Employé Supprimé"); this.gridEXEmp.Hide(); GridEmp frmT = new GridEmp(); frmT.ShowDialog(); usrconnection.clscnx(cnx); } catch (SqlException) { MessageBox.Show("Suppression impossible"); } } } else { MessageBox.Show("Vous devez séléctionnez l'employé à supprimer ", "STOP"); }
la ton code devrait fonctionner car ce n'est pas selectedItems mais SelectedRows cepandant je sais pas pourquoi tu as réussi a trouver cette proprieté car elle n'existe pas en winform j'ai confondu avec une combobox tu utilise quel outils pour developper
Ci joint mon test qui fonctionne
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; namespace WindowsFormsApplication3 { public partial class Form1 : Form { List<Homme> _list = new List<Homme>(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { _list.Add(new Homme(){Nom = "Dupond",Prenom = "Nicolas"}); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); _list.Add(new Homme() { Nom = "Dupond", Prenom = "Nicolas" }); dataGridView1.DataSource = _list; } private void button1_Click(object sender, EventArgs e) { if (this.dataGridView1.SelectedRows.Count != 0) { DialogResult réponse = MessageBox.Show("Voulez vous vraiment Supprimer cet Employé?!", "Suppression", MessageBoxButtons.YesNo); if (réponse == DialogResult.Yes) { try { MessageBox.Show("Ok"); } catch (Exception) { MessageBox.Show("Suppression impossible"); } } } else { MessageBox.Show("Vous devez séléctionnez l'employé à supprimer ", "STOP"); } } } public class Homme { public string Nom { get; set; } public string Prenom { get; set; } } }
Ma datagrid est sous janus winforms controls :) ! ey j'utlise le visual studio 2008
or que chez moi la propriété SelectedRows n'est pas possible ! :D je ne sais pas pourquoi ?!
Je vais réessayer Nico# merci pour ton intérêt !
or que chez moi la propriété SelectedRows n'est pas possible ! :D je ne sais pas pourquoi ?!
Je vais réessayer Nico# merci pour ton intérêt !
une solution qui m'a résolu le problème Nico# :D
la voilà
int i = -1;
try
{
string k = this.gridEXEmp.CurrentColumn.Index.ToString();
i = Convert.ToInt16(k);
}
catch
{
MessageBox.Show("Vous devez sélectionner une ligne où Supprimer", "STOP" , MessageBoxIcon.Warning);
}
if(i>=0)
{ // Supprimession }
merci pour votre patience et gentillesse
la voilà
int i = -1;
try
{
string k = this.gridEXEmp.CurrentColumn.Index.ToString();
i = Convert.ToInt16(k);
}
catch
{
MessageBox.Show("Vous devez sélectionner une ligne où Supprimer", "STOP" , MessageBoxIcon.Warning);
}
if(i>=0)
{ // Supprimession }
merci pour votre patience et gentillesse