2009-04-14 7 views
0

Ich habe ein Gridview-Steuerelement auf einer ASP.Net-Seite mit Zellen fester Breite. Die Daten, die von der Datenbank kommen, kommen gelegentlich als zusammenhängende Zeichenkette vor. Wenn sich Bindestriche in der Zeichenfolge befinden, wird sie unterbrochen, um die Breite des Layouts nicht zu beeinträchtigen. Wenn es keine Bindestriche gibt (insbesondere habe ich es mit Unterstrichen zu tun), bricht die Zeichenfolge nicht und zwingt die Zelle dazu, sich auszubreiten, wodurch das Layout der Seite gestört wird. Gibt es eine Möglichkeit, der Zelle zu sagen, dass sie ihre Breite behalten und die Saite brechen soll? So wie es aussieht, habe ich keinen direkten Zugriff auf die Daten des Feldes, da GridView seine Datenquelle an ein Dataset-Objekt bindet, das von der Datenbank kommt. Danke für jedes Feedback.zwingen, eine Zeichenfolge in einer festen Breite zu brechen Gridview Zelle

Antwort

0

Wenn Sie die RowDataBound event behandeln, können Sie die Zeichenfolge "manuell" brechen. Andernfalls wird es nur aufgrund von "HTML-Regeln" unterbrochen.

+0

Danke. :-) Kann nicht glauben, dass ich das verpasst habe. Prost! – BobC

0

Als erstes ist zu beachten, dass dies nicht viel mit ASP.NET zu tun hat, sondern ein reines HTML (und CSS) Problem ist.

Eine mögliche Lösung besteht darin, das css-Attribut table-layout: fixed zu verwenden und für alle Spalten Werte mit fester Breite festzulegen. Der Nachteil dieses Ansatzes besteht darin, dass die gesamte Tabellenbreite festgelegt ist, so dass sie nicht mit der Fenstergröße skaliert.

Ein anderer möglicher Ansatz besteht darin, in Spalten kürzere Strings anzuzeigen, die eine Dienstprogrammfunktion verwenden, die die langen Strings auf eine maximale Länge schneidet.