首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET GridView 自動換行設定:CSS word-break 與 word-wrap 一行搞定

     編輯:ASP.NET 基礎

問題

GridView 儲存格內容過長(如長網址、無空格字串)導致欄位撐破版面,需強制自動換行。

解決:RowDataBound 註入 CSS

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    // 對整個 GridView 生效
    GridView1.Attributes.Add("style", "word-break:break-all; word-wrap:break-word;");
}

CSS 屬性說明

屬性值效果
word-breakbreak-all**單字內也可斷行**(中文/長英文/URL 均有效)
word-wrap / overflow-wrapbreak-word**單字過長超出容器時斷行**(現代標準建議用 overflow-wrap)
white-spacenormal預設,允許換行(若設為 nowrap 則不換行)

進階:針對特定欄位

<asp:BoundField DataField="Description" HeaderText="說明" 
    ItemStyle-CssClass="auto-wrap" />

<style>
.auto-wrap { word-break: break-all; overflow-wrap: break-word; }
</style>

注意

  • 若 GridView 已有 CssClass,建議在 CSS 檔定義 `.myGrid { word-break:break-all; overflow-wrap:break-word; }`,避免每次 RowDataBound 重複加 style 屬性。
  • IE 舊版僅支援 `word-wrap`,現代瀏覽器建議同時設定兩者或改用標準 `overflow-wrap`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved