none
如何让TextBox模板的内容自动换行!? RRS feed

  • 问题

  •     某列 数据很长,这一列被转化为TextBox模板,我想让这个TextBox的内容能够按照我设计的长度自动换行!但没有成功!
    我是这样设置的:
    1.先把GridView中这一列的HeaderStyle和ItemStyle的Width设置为100px;
    2.编辑模板,把这一列的Wrap设置为True,Width为100px,完毕。
    但是TextBox还是不能自动换行。。。   该如何修改呢?

    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2012年4月16日 3:16

答案

  • 可以的,你可以設定TextBox的Style屬性來隱藏ScrollBar,像是下列的程式碼:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    	if (e.Row.RowType == DataControlRowType.DataRow)
    	{
    		TextBox txt = e.Row.FindControl("TextBox1") as TextBox;
    		if (txt != null)
    			txt.Attributes.Add("style", "overflow :hidden");
    	}
    }


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/


    2012年4月16日 7:45

全部回复

  • 請問你的TextMode有設定為MultiLine嗎?

    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    2012年4月16日 4:03
  • MultiLine   设置后确实可以解决这个问题!不过那两个  上翻、下翻的箭头太大有点难看!不知道有没有什么方法可以美化一下。

    呵呵!  我有点追求完美!  谢谢解答啊!


    C# 菜鸟中的雏鸟!提的问题也许很幼稚,但我是认真的。希望看在党国的面子上拉兄弟一把!

    2012年4月16日 7:31
  • 可以的,你可以設定TextBox的Style屬性來隱藏ScrollBar,像是下列的程式碼:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    	if (e.Row.RowType == DataControlRowType.DataRow)
    	{
    		TextBox txt = e.Row.FindControl("TextBox1") as TextBox;
    		if (txt != null)
    			txt.Attributes.Add("style", "overflow :hidden");
    	}
    }


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/


    2012年4月16日 7:45