请教:怎样才能固定表格单元格的宽度和高度(不随内容变化而变化)

wangshuxun 2005-07-24 09:28:35
老师好:
这个问题困扰我好久了,请指教

在页面中插入一个表格,有若干列和行,都指定的有固定的高度和宽度,在其中的某个单元格插入一个datagrid控件,则这个单元格(已经指定了固定的高和宽)则变形,随着datagrid的内容宽、长而变化了。datagrid的宽度通过设置列宽也可以解决,但长度只能靠记录数控制。
请问,有什么方法可以固定表格单元格的宽和高,如果datagrid大于这个宽和高的情况下,则隐藏datagrid的部分或者出现滚动条?

再者、在asp.net界面中,看到的datagrid位置和宽高与在浏览器中看到的位置与宽高不相符,应该如何解决呢?

谢谢老师的指点和您的参与





...全文
1800 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaron_lly 2005-07-24
  • 打赏
  • 举报
回复
在这里加个这个,,,,就自动分行了

<td style="word-break:break-all">
zhilunchen 2005-07-24
  • 打赏
  • 举报
回复
1.先在DataGrid的属性生成器里设置每个字段的宽度,
2.在页面的Page_Load里加放下面的代码:
DataGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word");
3.在DataGrid的ItemDataBound的事件里添加下列代码:

//较长字段按指定显示宽度截断
if(StringClass.GetStringLength(e.Item.Cells[1].Text)>30)
{
//GetStringLength取得字符串的字节数,一个汉字算两个字节,
//上面的30是单元格能正常显示的最大字符串
//如果字符串被截断,则设置ToopTip
e.Item.Cells[1].ToolTip=e.Item.Cells[1].Text;
}
//截断字符串,并在尾部显示"...",210px是在第2步中设置的字段的显示宽度
e.Item.Cells[1].Text="<span style=\"width:210px;height:15px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap\">"+e.Item.Cells[1].Text+"</span>";

4.GetStringLength代码
//要用到using System.Text
public static int GetStringLength(string param)
{
ASCIIEncoding n = new ASCIIEncoding();
byte[] b = n.GetBytes(param);
int l = 0; // l 为字符串之实际长度
for (int i=0;i <= b.Length-1;i++)
{
if (b[i] ==63) //判断是否为汉字或全脚符号
{
l++;
}
l++;
}
return l;
}


GX198302 2005-07-24
  • 打赏
  • 举报
回复
表格单元格没这个功能的吧
codeangel 2005-07-24
  • 打赏
  • 举报
回复
同意楼上二位.
1.用div来定滚动条.
2.将DataGrid的width设置为100%
自然框架 2005-07-24
  • 打赏
  • 举报
回复
把DataGrid的width设置为100%
chxuxu 2005-07-24
  • 打赏
  • 举报
回复
同样楼上的
veryhappy 2005-07-24
  • 打赏
  • 举报
回复
这中情况建议你使用<div>标签中加入datagrid控件的方式

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧