Ik ben momenteel bezig met een custom gridview server control. Daarin heb ik een aantal export mogelijkheden ingebouwd, zoals naar excel, word en PDF. Dat werkt allemaal uitstekend. Alleen loop ik tegen een probleem aan met de export naar PDF.
Ik gebruik hiervoor de Gios PDF Library. Hierin zit de mogelijkheid om een tabel direct uit een datatable te vormen. Ook dat werkt allemaal prima. Hij maakt een datatable van de inhoud van de gridview en zet die netjes in een table in het nieuwe PDF-document. Daarbij houdt hij rekening met columns waarbij visible=false, en met de alignment van de column.
Mijn probleem is het instellen van de breedte van de kolom. An sich gaat dit prima met de Gios PDF Library, je kunt per kolom een relatieve breedte instellen. Ik loop echter tegen een probleem aan indien de column geen breedte in de definitie heeft staan. Aangezien ik een generiek control aan het maken ben, wil ik niet afdwingen dat de gebruiker dit moet doen. Zeker niet aangezien de automatische breedte instelling van de gridview columns prima is.
Ik moet nu dus de breedte van een column ophalen zoals die op het scherm getoond wordt.
De volgende properties van de gridview leveren geen breedte op:
Iemand een idee hoe ik de schermbreedte van een column kan ophalen?
Ik gebruik hiervoor de Gios PDF Library. Hierin zit de mogelijkheid om een tabel direct uit een datatable te vormen. Ook dat werkt allemaal prima. Hij maakt een datatable van de inhoud van de gridview en zet die netjes in een table in het nieuwe PDF-document. Daarbij houdt hij rekening met columns waarbij visible=false, en met de alignment van de column.
Mijn probleem is het instellen van de breedte van de kolom. An sich gaat dit prima met de Gios PDF Library, je kunt per kolom een relatieve breedte instellen. Ik loop echter tegen een probleem aan indien de column geen breedte in de definitie heeft staan. Aangezien ik een generiek control aan het maken ben, wil ik niet afdwingen dat de gebruiker dit moet doen. Zeker niet aangezien de automatische breedte instelling van de gridview columns prima is.
Ik moet nu dus de breedte van een column ophalen zoals die op het scherm getoond wordt.
De volgende properties van de gridview leveren geen breedte op:
C#:
1
2
| unit a = gridview1.Columns[0].ItemStyle.Width; unit a = gridview1.Rows[1].Cells[i].Width; |
Iemand een idee hoe ik de schermbreedte van een column kan ophalen?