一.????要想固定table的总的宽度和每列的宽度:
?
?
?
<TABLEid="Table1"style="TABLE-LAYOUT:fixed"border="1">
?
或在脚本中:
?
this.style.tableLayout=fixed
?
?
?
|
HTML
? |
{table-layout:sLayout}
? |
|
Scripting
? |
object.style.tableLayout[=?sLayout]
? |
?
可能的值:
?
?
?
| sLayout
? |
String设置或获取下面的值:
?
? |
?
二.????换行问题
?
<td>有个attribute叫NOWRAP,可以控制每个单元格是否允许换行
?
?
?
<TDnowrap=true>
?
或者
?
this.noWrap=true
?
?
?
|
HTML
? |
<ELEMENT?NOWRAP...>
? |
|
Scripting
? |
object.noWrap[=?bWrap]
? |
?
| bWrap
? |
Boolean设置或获取一个下面的值:.
?
? |
?
Asp.net的DataGrid有个问题,它的Column有个属性ItemStyle.Wrap,设计是当这个列的ItemStyle.Wrap属性为true时,单元格允许回行,为false不允许回行,可是当设置了为false时输出到客户端的是这样的:
?
<tdnowrap=”nowrap”>?
?
而不是
?
<tdnowrap=”true”>
?
所以ItemStyle.Wrap属性是没有起作用的,请自己手工在DataGrid1_ItemDataBound事件中将不允许回行的那些单元增加个Attribute:nowrap=true。
?
privatevoidDataGrid1_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)
?
{
?
e.Item.Cells[n].Attributes.Add("nowrap","true");
?
}
?
?
?
三.????截断英文单词强行回行
?
上面两个方法可以把表格的宽度都固定了,每个单元是否允许回行都可以设定了,现在可能又会碰到一个问题,当允许回行的遇到比较长的英文单词,可能就超出了这个单元格的宽度,要是不把这个单词从中截断强行换行的话,这个单词的超出单元格宽的的部分将不被显示出来。所以需要在单词超出单元格长度的地方把单词强行截断回行。
?
可以利用css中的word-break风格来达到我们的目的:
?
?
?
<TABLEid="Table1"style="TABLE-LAYOUT:fixed;word-break:break-all"border="1">
?
或在脚本中:
?
this.style.wordBreak=break-all
?
?
?
|
HTML
? |
{word-break:sBreak}
? |
|
Scripting
? |
object.style.wordBreak[=?sBreak]
? |
?
| sBreak
? |
String设置或获取一个下面的值:
?
|