2014年7月30日 星期三

[ASP.NET] GridView樣板內控制項文字設定斷行

說明:因GridView內控制項(label)文字太長,想設定斷行。


作法:
1. 在GridView的RowDataBound事件內,找到該控制項。
2. 再設定特定長度或字元斷行,例:
 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        Label lblTest = (Label)e.Row.FindControl("lblTest");
        if (lblTest .Text.Length > 0)
        {
            //1. 直接insert <br/>
            blTest.Text = (lblTestt.Text.IndexOf('.') > 0) ? lblTest.Text.Insert(lblTestt.Text.IndexOf('.') + 1, "<br/>") : blTest.Text;

        
            // 2. 用replace加入<br/>
            lblTest.Text = lblTest.Text.Replace(".", ".<br/>");
        }
    }
}


參考資料:
http://www.dreamincode.net/forums/topic/117242-wrapping-around-a-symbol/
http://msdn.microsoft.com/zh-tw/library/11w09h50(v=vs.110).aspx

沒有留言:

張貼留言