Bonjour Whismeril,
Merci pour ta réponse.
Oui c'est bien cela, je fais un databinding entre ma datagrid et un datatable. Peut etre que je devrais construire un dataset autour de mon datatable
Je vais regarder la solution que tu me proposes
Voici une partie de mon code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace import_svg
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private DataTable tableJeu = new DataTable("Jeu");
private BindingSource source = new BindingSource();
private string requeteSQL = "";
private void Form1_Load(object sender, EventArgs e)
{
// Table Jeu
tableJeu.Columns.Add("checkJeu", typeof(bool));
tableJeu.Columns.Add("nameJeu", typeof(string));
tableJeu.Columns.Add("favoriteJeu", typeof(bool)); // favori
tableJeu.Columns.Add("stateJeu", typeof(string)); // supprimer ou cacher
DataSet setJeu = new DataSet("datasetJeu");
source.DataSource = tableJeu;
dataGridListe.DataSource = source;
tableJeu.Rows.Add(false, "Aladin", false, "");
tableJeu.Rows.Add(false, "Mario", false, "");
tableJeu.Rows.Add(false, "Maupiti", false, "");
tableJeu.Rows.Add(false, "Tarantino", false, "");
tableJeu.Rows.Add(false, "Spielberg", false, "");
tableJeu.Rows.Add(false, "Ashley", false, "");
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
checkHide.Checked = false;
checkDelete.Checked = false;
filtreRecherche();
}
private void filtreRecherche()
{
if (checkKeep.Checked == true)
{
requeteSQL = "stateJeu = 'keep' or stateJeu = 'hide' or favoriteJeu = true";
}
else
{
if (checkHide.Checked == true)
{
requeteSQL = "stateJeu = 'hide'";
}
else
{
if (checkDelete.Checked == true)
{
requeteSQL = "stateJeu = 'delete'";
}
else
{
requeteSQL = "";
}
}
}
tableJeu.DefaultView.RowFilter = requeteSQL;
}
private void checkHide_CheckedChanged(object sender, EventArgs e)
{
checkKeep.Checked = false;
checkDelete.Checked = false;
filtreRecherche();
}
private void checkDelete_CheckedChanged(object sender, EventArgs e)
{
checkHide.Checked = false;
checkKeep.Checked = false;
filtreRecherche();
}
private void menuSelectionMasquerOui_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridListe.Rows.Count; i++) //cacher
{
if ((bool)dataGridListe.Rows[i].Cells["checkJeu"].Value == true)
{
dataGridListe.Rows[i].Cells["stateJeu"].Value = "hide";
}
}
}
private void menuSelectionSupprimerOui_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridListe.Rows.Count; i++) //cacher
{
if (dataGridListe.Rows[i].Cells["checkJeu"].Value.ToString() == "True")
{
dataGridListe.Rows[i].Cells["stateJeu"].Value = "delete";
}
}
}
private void menuSelectionGarderOui_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridListe.Rows.Count; i++) //cacher
{
if (dataGridListe.Rows[i].Cells["checkJeu"].Value.ToString() == "True")
{
dataGridListe.Rows[i].Cells["stateJeu"].Value = "keep";
}
}
}
private void button1_Click(object sender, EventArgs e)
{
radioButton1.Checked = false;
}
}
}