[ASP.NET] datagrid; te lange text

Pagina: 1
Acties:

  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
Voor een ASP.NET datagrid control ben ik op zoek naar de beste manier om met te lange text in een cell om te gaan.

Standaard wordt bij een te lange regel gebruik gemaakt van extra regel(s). Als de regel echter uit één woord bestaat wordt de cell geforceerd breder gemaakt. Is hier iets aan te doen?

Of is het misschien mogelijk om een label in de datagrid een maximale lengte te geven waardoor te lange text gewoon niet zichtbaar is. Nog mooier is natuurlijk als er afgebroken kan worden met '...'.

Iemand enig idee?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

1e optie; met css eea instellen

2e optie: eigen templatecolumn maken, die de contentinhoud controleert op lengte en evt. aanpast. Je kan een label er achter hangen en het DataBinding event van deze label afvangen. Vervolgens handel je hier de lengte check af.

3e optie: eea. regelen in een readonly property; prop deze in de te binden class en regel in deze property alles, zodat deze de boel goed geformat terug geeft. Bind vervolgens aan deze property.

[ Voor 72% gewijzigd door gorgi_19 op 16-09-2004 09:36 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • EmilneM
  • Registratie: December 2001
  • Laatst online: 15-09-2023
1e optie; met css eea instellen
Is hier een property voor dan? Lastig met aantal karakters te werken omdat niet elk karakter even breed is.
2e optie: eigen templatecolumn maken, die de contentinhoud controleert op lengte en evt. aanpast. Je kan een label er achter hangen en het DataBinding event van deze label afvangen. Vervolgens handel je hier de lengte check af.
Iets als volgt in DataGrid_ItemDataBound?
Visual Basic .NET:
1
2
3
If Label.Width > 100 Then
  'code om text in te korten....maar hoe?
End If

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

Is hier een property voor dan? Lastig met aantal karakters te werken omdat niet elk karakter even breed is.
Daar zal je in Webdesign & Graphics voor moeten zijn; dat heeft niets met ASP.Net te maken.
Iets als volgt in DataGrid_ItemDataBound?
Ik had het over een Templatecolumn; maar databound kan evt. ook.
Sowieso: je moet ook de Text controleren, niet de Width.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
EmilneM schreef op 16 september 2004 @ 09:52:
[...]

Is hier een property voor dan? Lastig met aantal karakters te werken omdat niet elk karakter even breed is.
Volgens mij kan je iets met de overflow property, hier kan je volgens mij aangeven wat er gebeurt met items die niet binnen jou cell passen. Voor meer vragen hierover kan je denk beter bij de buren van W&G zijn die weten er vast meer over.
Iets als volgt in DataGrid_ItemDataBound?
Visual Basic .NET:
1
2
3
If Label.Width > 100 Then
  'code om text in te korten....maar hoe?
End If
Op deze manier kan je inderdaad je text inkorten maar je zal zowiezo het probleem blijven houden dat je niet precies weet hoe de characters bij de client gerenderd worden en dus hoe groot ze zijn. Je zult dan dus toch met een marge moeten werken. Als je het toch precieser wilt kun je mischien clientside wat met javascript doen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”