mig bekendt er den eneste mulighed at subclasse datagriddet og overskrive render-metoden... har selv har bøvl med andre datakontroller der ikke ville makke ret ;)
hmm, hvis nogen kan give en smule hjælp til hvordan jeg overskriver den lede metode ville jeg blive glad. måske er det i virkeligheden "RenderBeginTag" metoden der skal omskrives til bare at lave en <table> ...?
Det ser ikke ud til at gøre nogen forskel hvad jeg skriver i RenderBeginTag, men derimod giver en override af Render metoden resultater. Problemet er så bare at den overskriver _alt_ i metoden og at man således skal skrive alting om igen, hvilket godt kunne se ret uoverskueligt ud... :(
Nogle andre forslag? Hvad er idéen med den din linje "public MitGrid() : base()" ?
når du sublclasser, så skal man sørge for at kalde metoderne i den klasse man arver fra, med mindre man vil overtage HELE dens funktion. Det kan være at RenderBeginTag ikke bliver kaldet... prøv følgende:
Ok, du mener altså at det burde virke med denne kode: public class PlainDataGrid : DataGrid { public override void RenderBeginTag(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID); writer.RenderBeginTag(HtmlTextWriterTag.Table); } }
eller glemmer jeg et eller andet? det dur i hvert fald ikke :(
nej... undskyld... jeg fandt lige ud af det faktisk var ved en DataTable jeg havde lavet trikket... er dog ved at undersøge hvordan man krejler det for et DataGrid
1) man renderer datagriddet til en lokal HtmlWriter-buffer 2) dernæst renderer man det ønskede start-tag (RenderBeginTag) til endnu en lokal buffer 3) erstatter den første linje i det renderede datagrid (som jo er <table> tagget) med det nye start-tag ved hjælp af split 4) udskriv hver enkelt linje til writeren som indeholder det output der bliver sendt til clienten
det er især punkt 3 som splitter hele datagriddets html op i x antal linjer, og punkt fires foreach der er resource-krævende. Man kan evt. lave noget regexp eller replace for at få replacet det oprindelige start-tag med det ønskede, men det må man sidde og lege lidt med
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.