Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : appliquer un filtre sur plusieurs tables [ Base de données / SQL Server ] (zakaroh)

vendredi 25 juillet 2008 à 11:04:33 | appliquer un filtre sur plusieurs tables

zakaroh

bonjour,
quelle méthode me permettera de filtrer des champs des tballes,
c'est a dire en cochant des checkbox j'affiche ce que j'ai ckocher même s'ils sont pas dans la même table.
j'arrive a le faire avec une seul table mais pas plusieurs tables.
merci je suis bloqué.

vendredi 25 juillet 2008 à 12:01:02 | Re : appliquer un filtre sur plusieurs tables

ofonadroite

Membre Club
Salut,

Peut tu être un peu plus précis, donner tes tables ou un peu de code ?
Merci



Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes

vendredi 25 juillet 2008 à 12:33:58 | Re : appliquer un filtre sur plusieurs tables

zakaroh

désolé, dataGridView
je pense que j'ai mal developpé mon probléme.
j'ai 4 dataGridView T1,T2,T3,T4, chaque tables posséde plusieurs champs...
comment je pourrai filtrer tout les informations de mes 4 tables,
c'est a dire, j'ai des checkbox qui corespondent aux champs de mes table,
mon but c'est d'afficher les champs que j'ai choisis même si'ls sont pas dans la même dataGridView.

vendredi 25 juillet 2008 à 14:43:17 | Re : appliquer un filtre sur plusieurs tables

ofonadroite

Membre Club
Salut,

Comment relie tu tes DataGridView à ta base de donnée : avec un composant ou en code-behind ?
Je suppose que chaque table correspond à un DataGridView, tu n'as qu'a tester tes checkbox et construire ensuite tes DataGridView et spécifiant tes requêtes selon les checkbox.
Si tu ne comprend pas donne un peu de code : sur ton test des checkbox et  ta connection entre les DataGridView et ta base
@Pluche



Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes

vendredi 25 juillet 2008 à 15:13:16 | Re : appliquer un filtre sur plusieurs tables

zakaroh

merci les amis,
les DataGridView sont conect"s par visual studio 2005 donc c'est pas un code behind,
j'ai fais ca pour une seul table T1
private void projet_Load(object sender, EventArgs e)
        {
            this.T1TableAdapter.Fill(this.testDataSet.T1);

}


private void appliquer_filtrage_colonne()
        {
            if (CheckBox_1.Checked)
            {
                dataGridView1.Columns[1].Visible = true;
            }
            else
            {
                dataGridView1.Columns[1].Visible = false;
            }
            if (CheckBox_2.Checked)
            {
                dataGridView1.Columns[2].Visible = true;
            }
ca marche j'arrive à applique le filtre.

mon probleme il faut que j'arive a filtrer tt mes tables, sachant que j'ai 200 champs et 10 table , je vois comment appliquer ce filter.

merci

vendredi 25 juillet 2008 à 16:07:47 | Re : appliquer un filtre sur plusieurs tables

ofonadroite

Membre Club
Salut,

Petite question encore : si tu as 200 champs est ce que tu as 200 CheckBox ??



Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes

vendredi 25 juillet 2008 à 16:12:33 | Re : appliquer un filtre sur plusieurs tables
vendredi 25 juillet 2008 à 16:56:50 | Re : appliquer un filtre sur plusieurs tables

ofonadroite

Membre Club
Watcha
Tu vas te marrer !! Je vais réflechir a un moyen simple de gérer ça ce weekend mais je pense que tu va devoir adopter une autre solution que les CheckBox. Pour le moment je pencherai vers du drag'n'drop ou moins complexe un textarea dans lequel l'utilisateur ajoute les champs qu'il veut voir apparaître et une requete dynamique qui interroge ta base selon les champs voulu. J'ai ma petite idée je te tiens au jus dès que c'est plus concret.
@Pluche




Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes

vendredi 25 juillet 2008 à 17:04:33 | Re : appliquer un filtre sur plusieurs tables
lundi 28 juillet 2008 à 10:07:31 | Re : appliquer un filtre sur plusieurs tables

ofonadroite

Membre Club
Salut,

Alors voilà une solution :

Tout d'abord un CheckBoxList plus facile à parcourir pour trouver les cases cochées ou non. Puis, lors du clic sur le boutton de validation, tu construit ta requete à ta base de données dynamiquement et tu la relie à ton DataGridView.

Pour commencer il faut ajouter les using :

using

System.Data.SqlClient;

using

System.Data.Common;

using

System.Data.SqlTypes;

Tu creer une CheckBoxList (qui, soit dit en passant, peux se construire en lien avec une base de donnees, dans ce cas tu peux construire une table "Champs" avec le nom du champ (ex:bidule_id) et un libelle qui s'affichera dans la CheckBoxList) et un bouton. La valeur de chaque Item de ta CheckBoxList doit absolument etre le nom de ton champ car c'est cette valeur que tu va récupérer et non son texte pour construire ta requete.

<

asp:CheckBoxListID="CheckBoxList1"runat="server">

<asp:ListItemText="1"Value="val1">

</asp:ListItem>

<asp:ListItemText="2"Value="val2">

</asp:ListItem>

<asp:ListItemText="3"Value="val3">

</asp:ListItem>

<asp:ListItemText="4"Value="val4">

</asp:ListItem>

<asp:ListItemText="5"Value="val5">

</asp:ListItem>

<asp:ListItemText="6"Value="val6">

</asp:ListItem>

</asp:CheckBoxList>

<asp:ButtonID="Button1"runat="server"Text="Valider"onclick="Button1_Click"/>

Lors du clic sur ton bouton tu te connecte à ta base, tu construit ta requete avec les champs cochés et tu la relie à ton DataGridView.

protected

void Button1_Click(object sender, EventArgs e)

{

      ConnectionStringSettings cfg = ConfigurationManager.ConnectionStrings["Ta chaine de connexion"];

      SqlConnection Conn = newSqlConnection(cfg.ConnectionString);

      Conn.Open();

      //Debut de ta requete

      string req = "Select ";

      for (int i = 0; i < CheckBoxList1.Items.Count; i++)

      {

            if (CheckBoxList1.Items[i].Selected == true)

            {

               //si coch, devient un parametre

               req += CheckBoxList1.Items[i].Value.ToString();

               req +=

", ";

            }

      }

//fin de la requete

req +=

"from Tabl1, Tabl2, ... where ...";

SqlCommand Cmd = newSqlCommand(req, Conn);

Cmd.CommandType = System.Data.

CommandType.Text;

SqlDataAdapter DA = newSqlDataAdapter(Cmd);

DataSet dt = newDataSet("SqlDataSource");

DA.Fill(dt,req);

//remplissage du DataGridView

DataGridView1.DataSource = dt;

DataGridView1.DataBind();

Conn.Close();

}



Voilà, si tu as des questions n'hésite pas.
@Pluche



Si une réponse vous convient n'oubliez pas le réponse acceptée !!!
Ca aidera beaucoup d'autres personnes


1 2

Cette discussion est classé dans : table, filtre, tables, appliquer


Répondre à ce message

Sujets en rapport avec ce message

Probleme entre 2 tables Important [ par giorgio08 ] Re bonjour a tous, j'ai enfin trouver une solution par rapport a mon probleme. mais j ai qd meme un gros problemej ai 2 tables une PARTIES et une RESU Mettre plusieurs table adapter dans une meme fenêtre [ par maitesn1 ] Bonjour,j'ai essayé de mettre plusieurs tables adapters dans une meme form en utilisant Visal C# 2005.J'ai glissé dans la form toutes les tables adapa Mélange de table dans une DataView [ par poullos ] Bonjour, J'ai plusieurs tables dans mon DataSet et je voudrais pouvoir faire un aperçu de certaines collonnes de plusieurs tables dans une seule temp Récupérer nom colonnes d'une table [ par plop3000 ] Bonjour,Je possède une base Sybase. J'ai une petite application qui contient un combobox dans lequel j'ai mis la liste de mes tables (le nom de mes ta VS 2005 et Datagrid [ par ChamY ] Bonjour,j'aurais une question sur les DatagridView sur VS 2005.Je suis en trein de tester cette version de VS et j'ai voulu faire un petit programme a pb: Remplissage état CR à partir d'un dataset portant sur deux tables [ par DOCBUGS ] Salut à tous,Je dispose d'un dataset portant sur deux tables. Par ailleurs, je dispose d'un état Crystal Report dont le datasource est ce dataset. Les aide sur un graph [ par madrid79 ] bonjour, j'ai fait un état sur Crystal rapports pour tracer un graph pour une table. sur cette table j'applique un filtre, normalement je dois obteni dataset relations entre tables. [ par yopdurat ] Bonjour,j'ai un dataset rempli avec 2 tables liées entre elles.J'affiche un datagridview avec les données de la table 1, et un textbox doit prendre un [Regex] Récupérer une chaine de caractère [ par 4rocky4 ] Bonjour tout le monde,Je viens de découvrir les expressions régulières et j'aurais besoin d'aide J'ai un fichier (fichier.sql) qui contient un très gr


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,466 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.