hpfarstad Skrevet 14. august 2006 Del Skrevet 14. august 2006 Har en database med path til forskjellige custom controls. La oss f.eks si at jeg har en rad med controls/Image.ascx Har en gridview hvor jeg ønsker å binde en kolonne opp mot denne pathen og på den måten vise kontrolleren i mitt gridview. Hvordan kan dette gjøres? En god link er vel så bra som en forklaring! Lenke til kommentar
Gråskjegg Skrevet 14. august 2006 Del Skrevet 14. august 2006 (endret) Har en database med path til forskjellige custom controls. La oss f.eks si at jeg har en rad med controls/Image.ascx Har en gridview hvor jeg ønsker å binde en kolonne opp mot denne pathen og på den måten vise kontrolleren i mitt gridview. Hvordan kan dette gjøres? En god link er vel så bra som en forklaring! 6671267[/snapback] Jeg tror ikke det holder med ren binding her, men jeg har tatt feil før. google -> LoadControl .net? Sannsynligvis i sammenheng med ItemCreated. cell.Controls.Add( LoadControl(path) ) nosånt. - grå - Edit: slurveleif. Endret 14. august 2006 av Gråskjegg Lenke til kommentar
hpfarstad Skrevet 15. august 2006 Forfatter Del Skrevet 15. august 2006 Ja nå har jeg ihvertfall kommet så langt at jeg har laget en klasse som arver fra GridView, slik at jeg kan override metoder i den. Har bindet den til en datasource fra stored procedure. Ser at i ItemTemplate kan man legge til Image, button mm, så regner med det burde være mulig å legge til egne controls i griden... Får søke litt rundt... Lenke til kommentar
hpfarstad Skrevet 16. august 2006 Forfatter Del Skrevet 16. august 2006 (endret) Finner ikke ut av det. Skal prøve å forklare litt nærmere her... Har nå en kontroll som arver fra GridView som viser følgende etter å ha blitt bindet til en SQLreader: ID | Preview 12 | modul1.ascx 14 | modul2.ascx 15 | modul2.ascx Jeg trenger da antageligvis å overstyre en metode, OnDataBound muligens, hvor jeg sier at i kolonnen Preview skal den ta strengen og erstatte den med en kontroller som heter det som står i kolonnen. Håper noen kan veilede meg litt her, nå har jeg snart ikke mer hår igjen å rive ut! Edit: kan tenke meg jeg må finne en måte å få referert til den aktuelle cellen hver gang en rad opprettes, slik at jeg kan bruke noe sånt som cell.Controls.Add("innhold i cellen")... noe slikt... men aner ikke hvordan... Endret 16. august 2006 av hpfarstad Lenke til kommentar
hpfarstad Skrevet 16. august 2006 Forfatter Del Skrevet 16. august 2006 (endret) Etter mye prøving og feiling fant jeg en metode jeg kunne override som lot meg referere en gitt celle. Skal forklare hva jeg gjorde i tilfelle andre lurer på det samme. protected override void OnRowDataBound(GridViewRowEventArgs e) { // Sjekker at det ikke er header raden if(e.Row.RowIndex != -1) { // Loader kontrollen basert på strengen i cellen SystemControl _Preview = (SystemControl)Page.LoadControl(e.Row.Cells[0].Text.ToString()); // Fjerner eksisterende tekst e.Row.Cells[0].Text = ""; // Legger til kontrollen i cellen e.Row.Cells[0].Controls.Add(_Preview); } base.OnRowDataBound(e); } Mulig det finnes bedre måter å gjøre dette på, men fikk nå løst problemet inn til videre. Endret 16. august 2006 av hpfarstad Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå