首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
wangchinaking (57)
yjz0065 (113)
coofucoo (105)
Drate (69)
lphpc (30)
smallnest (61)
iiprogram (64)
downmoon (32)
danny_xcz (49)
btbtd (81)
CSDN - 文档中心 - .NET 阅读:3733   评论: 4    参与评论
标题   table的宽度,单元格内换行问题     选择自 chnking 的 Blog
关键字   table 换行
出处  

一.     要想固定table的总的宽度和每列的宽度:

 

<TABLE id="Table1" style="TABLE-LAYOUT:fixed" border="1">

或在脚本中:

this.style.tableLayout = fixed

 

HTML

{ table-layout : sLayout }

Scripting

object.style.tableLayout [ = sLayout ]


可能的值:

 

sLayout

String 设置或获取下面的值:

auto

缺省设置. 列宽将设置为不可分割的最大的内容的宽度。

fixed

表的宽度和列的宽度固定,不随单元格中内容而改变

一.     设置了各个列的宽,没有设表的宽:表的宽度等于各个列的宽度的和

二.     设置了表的宽度,没有设各个列的宽度:各个列的宽度平均分配

三.     要是都没设置宽度:表的宽度为100%,各个列的宽度平均分配

 

二.     换行问题

<td>有个attribute NOWRAP,可以控制每个单元格是否允许换行

 

<TD nowrap=true>

或者

this.noWrap = true

 

HTML

<ELEMENT NOWRAP ... >

Scripting

object.noWrap [ = bWrap ]

可能的值:

bWrap

Boolean 设置或获取一个下面的值:.

false

缺省值. 允许单元格的单词字符回行.

true

不允许单元格回行,除非字符中含有”<br>”

 

Asp.netDataGrid有个问题,它的Column有个属性ItemStyle.Wrap,设计是当这个列的ItemStyle.Wrap属性为true时,单元格允许回行,为false不允许回行,可是当设置了为false时输出到客户端的是这样的:

<td nowrap=”nowrap”> 

而不是

<td nowrap=”true”>

所以ItemStyle.Wrap属性是没有起作用的,请自己手工在DataGrid1_ItemDataBound事件中将不允许回行的那些单元增加个Attribute nowrap=true

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{

e.Item.Cells[n].Attributes.Add("nowrap"," true ") ;

}

 

三.     截断英文单词强行回行

上面两个方法可以把表格的宽度都固定了,每个单元是否允许回行都可以设定了,现在可能又会碰到一个问题,当允许回行的遇到比较长的英文单词,可能就超出了这个单元格的宽度,要是不把这个单词从中截断强行换行的话,这个单词的超出单元格宽的的部分将不被显示出来。所以需要在单词超出单元格长度的地方把单词强行截断回行。

可以利用css中的word-break 风格来达到我们的目的:

 

<TABLE id="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设置或获取一个下面的值:

normal

缺省值. 允许从每个词处回行。

break-all

不管在什么位置,超过列宽时就回行。

keep-all

不允许 Chinese, Japanese, Korean 回行。这个功能类似与“normal” 的非亚洲语言版本。


相关文章
对该文的评论
cooldama ( 2003-09-15)
very clear
achemond ( 2003-08-21)
写得不错的说:)
sunlazy ( 2003-08-20)
不错!
shajie ( 2003-08-16)
不错,真好是我之前好久都没有解决的问题,呵呵