GridView 多行TextBox生成HTML格式,列中英文自动换行


    Public Function CHTMLEncode(ByVal fString As String) As String    '=========数据库回车符和空格符转换=========
        fString = Replace(fString, Chr(32), "  ")
        ' fString = Replace(fString, Chr(13), "<br>")
        fString = Replace(fString, Chr(10), "<BR>")
        CHTMLEncode = fString
    End Function

 

 

      Dim lbnote As Label = GridView1.Rows(i).FindControl("lbNote")
            If lbnote Is Nothing Then
            Else
                lbnote.Text = CHTMLEncode(dv.Item(i)("note"))
            End If

 

 

 在RowCreated事件中添加
e.Row.Cells[6].Attributes.Add("style", "word-break :break-all ; word-wrap:break-word");

这样则会让你选定的列自动换行了 不过前提是要给列设置宽度
<asp:BoundField DataField="Memo" HeaderText="备注" >
<ItemStyle Width="20%" Wrap="True" />
</asp:BoundField>
前台这样写。 注意: Wrap="True" 啊!

 

 

 

备注:在td单元格中文字如何自动换行

本来如果写的是中文的话你在html语言中定义了td 的宽,它就会在超过规定宽度后自动换行,但是我们经常可能会在单元格中输入数字或者英文,这时候单元格就不会自动换行了。那么这时候应该如何解决呢?这里先给大家介绍一个有用的css属性:word-wrap、word-break,更详细的介绍请查看css手册

word-wrap:设置或检索当当前行超过指定容器的边界时是否断开转行
取值:
normal  :  默认值。允许内容顶开指定的容器边界
break-word  :  内容将在边界内换行。如果需要,词内换行( word-break )也将发生

word-break:设置或检索对象内文本的字内换行行为。尤其在出现多种语言时
取值
normal  :  默认值。允许在词间换行
break-all  :  该行为与亚洲语言的 normal 相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all  :  与所有非亚洲语言的 normal 相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本

这样我们就知道该如何解决了,比如在td中我们加上上边介绍的属性:style="word-wrap:break-word;word-break:break-all;" ,问题迎刃而解~!

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(html,function,String,css,语言,textbox)