begin process at 2010 02 10 14:40:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

WebControl

 > 

Probleme avec le controle repeater


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec le controle repeater

mercredi 18 juin 2008 à 22:10:04 | Probleme avec le controle repeater

plateau

Bonjour,

j'espère vraiment que qq un peut m'aider la dessus car cela fait un bout de temps que j'essais mais en vain,
alors, j'ai deux tables, 1 c'est les titres et 2 c'est les auteurs des livres (1 à plusieurs)

dans ma page aspx j'ai créer un repeater (parent) pour afficher les titres, et un autre repeater (child) pour afficher les auteurs correspondants,


mon but est d'afficher 5 résultats par page, le

voici mon code

 protected void Page_Load(object sender, System.EventArgs e)
    {
        if (!IsPostBack)
        {
            intPageSize.Text = "5";
            intCurrIndex.Text = "0";
            DataBind();
        }
    }
    protected void DataBind()
    {
        OleDbConnection connection = new OleDbConnection();
        // mettre la connection en string pour pouvoir la recuperer dans l'adaptateur
        connection.ConnectionString = "ma chaine de connection";
        connection.Open();
        OleDbDataAdapter cmd1 = new OleDbDataAdapter(" select * from table 1 ", connection);
        OleDbDataAdapter cmd2 = new OleDbDataAdapter("select * from table 2 ", connection);

        //Create and fill the DataSet.
        DataSet ds = new DataSet();
        int a = Convert.ToInt32(intCurrIndex.Text);
        int b = Convert.ToInt32(intPageSize.Text);
        cmd1.Fill(ds,a , b, "table1");
       
        intRecordCount.Text = Convert.ToString(ds.Tables["table 1"].Rows.Count);
        //Create a second DataAdapter for the Stock table.
        cmd2.Fill(ds, "table 2");
        //Create the relation bewtween the product and stock tables.
        ds.Relations.Add("myrelation", ds.Tables["table 1"].Columns["ID_ASS"], ds.Tables["table 2"].Columns["ID_ASS"]);
        //Bind the product table to the parent Repeater control, and call DataBind.
        parentRepeater.DataSource = ds.Tables["table 1"];
        Page.DataBind();
        connection.Close();

        lblstop.Text = Convert.ToString(Convert.ToInt32(Convert.ToInt32(intRecordCount.Text) / Convert.ToInt32(intPageSize.Text)) + 1);
        PrintStatus();
    }
  
  
l'erreur que j'ai est la suivante: System.ArgumentException: Cette contrainte ne peut pas être activée, car toutes les valeurs n'ont pas de valeurs parentes correspondantes.
et elle au niveau de :
ds.Relations.Add("myrelation", ds.Tables["table 1"].Columns["ID_ASS"], ds.Tables["table 2"].Columns["ID_ASS"]);

PS: quand j'enleve le a et b de
cmd1.Fill(ds,a , b, "table1"); je n'ai plus d'erreur mais il m'affiche tous les résultats dans une seule page

Help please
mercredi 18 juin 2008 à 22:23:29 | Re : Probleme avec le controle repeater

plateau

autre precision c'est que si je met dans intPageSize un nombre superieur à nombre de resultats, tout se passe bien et il n'y a pas de bug que ce soit je met a et b comme ca

cmd1.Fill(ds,a , b, "table1");
       
        intRecordCount.Text = Convert.ToString(ds.Tables["table 1"].Rows.Count);
        //Create a second DataAdapter for the Stock table.
        cmd2.Fill(ds,a, b, "table 2");

ou sans a et b
jeudi 19 juin 2008 à 16:24:14 | Re : Probleme avec le controle repeater

plateau

please help..
dimanche 22 juin 2008 à 15:36:07 | Re : Probleme avec le controle repeater

ggtry

Réponse acceptée !
Bonjour,

Je ne suis pas sûr que le code dont tu pars puisse accepter les conditions de pagination que tu essaies de lui imposer.
Le problème tient au fait que si ton premier dataset est rempli avec une limitation du nombre de résultat, le second ne l'est pas : or, problème supplémentaire, avec une relation one-many, comment prévoir la limitation ?
A mon avis, puisque l'un des deux repeater est dépendant des données de l'autre, tu devrais plutôt différencier leur remplissage : n'impose la condition de pagination que sur le repeater "maître", et ensuite, il suffira de remplir le second repeater avec la relation clef de la ligne du premier repeater en prenant le premier contrôle pour source du second.
Faire les deux dans le même sous-programme me semble très difficile dans ton cas.

GGtry
lundi 23 juin 2008 à 20:30:42 | Re : Probleme avec le controle repeater

plateau

ggtry merci pour ta réponse

je vais essayé dans ce sens
mercredi 25 juin 2008 à 22:30:03 | Re : Probleme avec le controle repeater

plateau

merci  ggtry c'est exactement ce qu'il fallait faire
mercredi 25 juin 2008 à 23:02:15 | Re : Probleme avec le controle repeater

ggtry


Bonsoir,

Je suis content que cela marche.
Une petite question de curiosité à laquelle tu n'es pas obligé de répondre (je m'intéresse aux questions bibliographiques) :
quel est le thème de la liste de livres ? et quel système d'indexation as-tu adopté ?

GGtry


Cette discussion est classée dans : text, connection, table, ds, tables


Répondre à ce message

Sujets en rapport avec ce message

lier 2 tables access [ par fif ] bonjour,je voudrais savoir comment creer une relation dans access entre 2 tables. Il faudrait que pour des champs qui ont le meme nom et comportant le afficher Contenu table ds un tableau [ par seedorf ] salut,je suis debutant en asp; j'aimerai pouvoir afficher le contenu de ma table client par exemple sous forme d'un tableau.merci d'avance.seedorf Problème pour dupliquer une table d'une base de donnée [ par spike31 ] Bonjour,Je désire copier une table de ma base de donnée (ACCESS) voici le code vb etla requete :RanameTable.text correspond au nouveau nom de la table ASP et @IP [ par hanhod ] Salam,Je stocke ds une table des @IP, et je peux stocker aussi des intervalles des @IP (de @TP1 A @IP2)Par exemple : De 120.160.12.13 A 120.160.19.10E probleme update table par dataset [ par papy27 ] salut, je suis tout nouveau dans la programmation vb.net et je voudrai savoir si vous pouvez m'aider.En effet, je créé une table clients sur un servic existence de lignes en sql [ par niek ] bonjour a tous!!!voici un CASE ke g insérer ds un SELECT, pour remplir la colonne etat_recep:CASE r.etat WHEN 'S' THEN 'SATISFAISANTE' WHEN 'N' THEN ' recuperation TEXT DS un TEXBOX.....???????? [ par kenza_sana ] Bonjour ......J'ia un peut probléme j'affiche un tableau dynamique ,ds un projet ASP.NET en C#, j'utilise les webcontrols le probléme est que j'arrive afficher un champ d'une autre table [ par perle007 ] Salut!!!j'ai deux tables qui ont un champ en commun (service_id) qui est ds la table (services_fr) et la table (publications_fr) ce que je veux faire Le dataset [ par Troyan ] Salut à tous, et surtout à azra je suppose que c'est plus pour lui !j'ai rempli un dataset         ADAPT.Fill(DS, "FIC")j'épargne le debut pour ne pas Remplissage d'un input text à partir d'une bd en utilidant javascript [ par gatita_dev ] Bonjour, j'ai fait un code pour remplir des input text par des valeur récupérer d'une base de données access, tout fonctionne bien sauf quand il y a u


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales