2011-06-16 2 views
0

Sur un contrôle utilisateur Webarticles ajouter le contrôle utilisateur Web problème

public void displayFindingSection(int sectionsid,string text,string head) 
{ 
    SectionHeading.Text = head; 
    DataSet totImgs; 
    totImgs = objGetBaseCase.GetFindingsNewerImages(sectionsid); 
    FindingViewerlist.DataSource = totImgs; 
    DataBind(); 
    SectionText.Text = text; 
} 

Sur un autre contrôle utilisateur Web

public void DisplayFindingsViewer(CipCaseWorkflowItem2 item) 
{ 
    FindingViewerDisplay.Visible = true; 
    ImageAndSimpleViewer.Visible = false; 
    objGetBaseCase.GetFindingsImages((Convert.ToInt32(Session["CaseId"])), item.ItemId); 
    FindingsViewerNew = objGetBaseCase.GetFindingViewerNewElementDetails(item.ItemId); 

    for (int i = 0; i < FindingsViewerNew.Count; i++) 
    { 

    FindingViwerDisplay uc = (FindingViwerDisplay)LoadControl("FindingViwerDisplay.ascx");     
FindingPlaceholder.Controls.Add(uc); 
    uc.displayFindingSection(Convert.ToInt32(FindingsViewerNew[i].Index), FindingsViewerNew[i].Text, FindingsViewerNew[i].Title); 

    } 
} 

J'ajoute la toute l'image dans le contrôle de l'utilisateur et afficher l'image, mais quand J'utilise le code ci-dessus, le contrôle de l'utilisateur Web ajoute également à chaque fois et une image montre dans le contrôle ce que je veux, c'est toutes les images doivent montrer dans un seul contrôle utilisateur .. sectionsid obtient l'ID de l'image de la base de données. Je pense que prob avec boucle, mais je suis incapable de le résoudre .. Aidez-moi ce que

+0

FindingViwerDisplay uc = (FindingViwerDisplay) LoadControl ("FindingViwerDisplay.ascx"); Placez-le avant la boucle et vérifiez – Syeda

+0

j'ai gardé cela, puis une seule image montre pas tout – Rocky

Répondre

1

est peut-être cela se produit u ont défini à l'intérieur de la boucle

FindingViwerDisplay uc = (FindingViwerDisplay)LoadControl("FindingViwerDisplay.ascx");     
FindingPlaceholder.Controls.Add(uc); 

Sur chaque boucle vous ajoutez uc et Appelant displayFindingSection où ofcouse ajouter 1 image que loop retourner ajouter un nouveau contrôle et ajouter une image il continuera jusqu'à ce que votre boucle soit complétée alors ajoutez le contrôle une fois avant loop et appelez juste displayFindingSection en boucle ..

FindingViwerDisplay uc = (FindingViwerDisplay)LoadControl("FindingViwerDisplay.ascx");     
FindingPlaceholder.Controls.Add(uc); 

//define here a dataTabel with three columns let say u have datatable dt 
for (int i = 0; i < FindingsViewerNew.Count; i++) 
{ 

dt.Rows.Add(Convert.ToInt32(FindingsViewerNew[i].Index), FindingsViewerNew[i].Text, FindingsViewerNew[i].Title); 


} 
    uc.displayFindingSection(dt); 

Travaillons sur cette dt dans displayFindingSection

Désolé si je me trompe ...

+0

J'ai fait la même chose, j'ai déjà utilisé le même code, si j'utilise le code ur alors je reçois seulement, une image montre dans un contrôle d'utilisateur, alors que j'ai 2, 3 ou plus image dans la table et le reste ne montre pas – Rocky

+1

Ensuite, passez l'ensemble de données totImgs dans le paramètre ..add toutes les images souces dans l'ensemble de données dans la boucle, puis passez à displayFindingSection ..Mais soit passe, vous définissez la source de données à chaque fois et la lier qui ont seulement 1 source d'image..Est-ce que votre contrôle montrant la dernière image que vous avez traversée la boucle ???/ – Syeda

+0

oui il montre la dernière image, pouvez-vous me laisser la syntaxe comment faire .. que vous dites – Rocky

Questions connexes