后台动态生成table,并把td内的文字进行换行。

前台:

<body style="width:100%;height:540px;margin-left:0px;margin-top:0px;overflow:scroll">
<form id="form1" style="font-size:10pt" runat="server">
<div >
<table width="95%" border="" align="center" cellpadding="" style="table-layout:fixed;" cellspacing="" bgcolor="#A2C1C8" id="tbContent" runat="server">
<tr>
<td colspan="" style="background-color:#deebef" align="center" >流程开始</td>
</tr>
</table> </div>
</form>
</body>

后台:

  protected void show()
{
try
{
string eventinfoid = Server.UrlDecode(Request.QueryString["eventinfoid"].ToString());
DataTable dtFlowOperationState = new DataTable();
dtFlowOperationState = flowBLL.GetList(" eventid='" + eventinfoid + "' order by newaddtime asc").Tables[];
int i = ;
foreach (DataRow dr in dtFlowOperationState.Rows)
{
HtmlTableRow row = new HtmlTableRow();
HtmlTableCell cell = new HtmlTableCell();
cell.Align = "center";
cell.BgColor = "#f7f7f7";
cell.InnerText = "第" + i.ToString() + "步"; i++;
row.Cells.Add(cell); cell = new HtmlTableCell();
cell.Align = "left";
cell.BgColor = "#f7f7f7"; string strTemp = "";
string UserName = getUserNameByID(dr["dealpeopleid"].ToString());
string dealtypeO = dr["dealtype"].ToString();
string delatime = dr["dealtime"].ToString();
string newaddtime = dr["newaddtime"].ToString();
if (!string.IsNullOrEmpty(delatime) && !string.IsNullOrEmpty(newaddtime))
{
strTemp += UserName + "[<font color='#008200'>" + dealtypeO + "&nbsp;用时:" + getTimeCount(Convert.ToDateTime(delatime), Convert.ToDateTime(newaddtime)) + "</font>]<br />";
strTemp += "开始于:" + newaddtime + "<br />";
strTemp += "步骤结束于:" + delatime + "<br />";
}
else
{
strTemp += UserName + "[<font color='#008200'>" + dealtypeO + "&nbsp;用时:0天0时0分0秒" +"</font>]<br />";
strTemp += "开始于:" + newaddtime + "<br />";
strTemp += "步骤结束于:正在处理中....<br />";
}
cell.InnerHtml = strTemp;
row.Cells.Add(cell); cell = new HtmlTableCell();
cell.Align = "left";
cell.VAlign = "top";
cell.BgColor = "#f7f7f7";
cell.Style.Add("word-wrap","break-word");//控制table换行
cell.Width = "";
cell.InnerText = "意见:" + dr["dealcontext"].ToString();
row.Cells.Add(cell);
this.tbContent.Rows.Add(row);
}
}
catch (System.Exception ex)
{
//ProcessException("JHLOA_New", "WorkFlow_Flow_PreviewFlowView", "show", ex.Message);
//Response.Redirect("../../error.aspx?id=3");
}
}
#region 获取时间差
public string getTimeCount(DateTime onTime, DateTime offTime)
{
StringBuilder sb = new StringBuilder();
try
{
TimeSpan ts = onTime - offTime;
if (ts.Days > )
{
sb.Append(ts.Days.ToString());
sb.Append("天");
}
sb.Append(ts.Hours.ToString());
sb.Append("小时");
sb.Append(ts.Minutes.ToString());
sb.Append("分");
sb.Append(ts.Seconds.ToString());
sb.Append("秒");
}
catch (System.Exception ex)
{ }
return sb.ToString();
}
#endregion

其中:

cell.Style.Add("word-wrap","break-word");//控制table换行
cell.Width = "400";

控制意见进行换行。

动态生成Table内文字换行。的更多相关文章

  1. jsp页面根据json数据动态生成table

    根据需求由于不同的表要在同一个jsp展示,点击某个表名便显示某张表内容,对于java后台传给jsp页面的json形式的数据是怎么动态生成table的呢? 找了好久,终于找到某位前辈的答案,在此表示衷心 ...

  2. 使用dwr时动态生成table的一个小技巧

    这篇随笔是我在07年写的,因为当时用了自己建设的blog,后来停止使用了,今天看到备份数据库还在,恢复出来放到这里.留着记录用. 我在使用DWR时,试了很多次都无法在动态生成的table中的一个或多个 ...

  3. VUE动态生成table表格(element-ui)(新增/删除)

    (直接复制即可测试) 结构(红色部分 data/prop/v-model 数据绑定): <template> <el-table size="small" :da ...

  4. 动态生成table 列

    table.render({ elem: '#test-table-comelist' ,url: layui.setter.base + 'list/comelist' ,cols: [[]] ,d ...

  5. js 根据数组分组动态生成table(相同项合并)

    <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/ ...

  6. 初探原生js根据json数据动态创建table

    初探原生js根据json数据动态创建table 小生以实习生的职位进入了一家非纯软件的公司做asp.net开发,大半个月下来发现公司里居然没有前端工程师,这令我很诧异,跟着公司做项目,发现前端后台没有 ...

  7. HtmlUnit爬取Ajax动态生成的页面内容

    HtmlUnit说白了就是一个浏览器,这个浏览器是用Java写的无界面的浏览器,正因为其没有界面,因此执行的速度还是可以滴. HtmlUnit提供了一系列的API,这些API可以干的功能比较多,如表单 ...

  8. Jquery 动态生成表单 并将表单数据 批量通过Ajax插入到数据库

    利用Jquery 动态生成 Table 表单 之后利用each 方法来遍历所有文本框获取文本的value值  并通过Ajax 将数据 提交到Web服务里把数据插入数据库 Html页面 <!DOC ...

  9. MVC&JQuery如何根据List动态生成表格

    背景:在编码中,常会遇到根据Ajax的结果动态生成Table的情况,本篇进行简要的说明.这已经是我第4.5篇和Ajax有关的随笔了,互相之间有很多交叠的地方,可自行参考. 后台代码如下: public ...

随机推荐

  1. Mysql --分区表(5)Columns分区

    COLUMNS分区 COLUMNS分区是RANGE和LIST分区的变种.COLUMNS分区支持多列作为分区键进行分区 RANGE COLUNMS分区和LIST COLUMNS都支持非INT型列作为分区 ...

  2. 慧都独家披露DevExpress v13.2测试版重大变化

    昨日,DevExpress隆重宣布发布v13.2.3测试版,想抢先尝鲜的朋友可以在这里下载哦.希望使用DevExpress旧版本的朋友,看到这些更新后能尽快更新你的代码,以免造成不必要的麻烦. Das ...

  3. js中比较实用的时期格式化

    在javascript中,关于时间格式的转换. 可以将“2010-1-2” 转换为 “2010-01-02 00:00:00” 或者将“2010-1-2 2:13:6" 转换为 “2010- ...

  4. curl+ post/get 提交

    //测试 内容 固定为 你好  post $curlPost = 'mobile='.$mobile.'&message='.$message.'&memberId='.$member ...

  5. elixir 高可用系列(五) Supervisor

    概述 OTP 平台的容错性高,是因为它提供了机制来监控所有 processes 的状态,如果有进程出现异常, 不仅可以及时检测到错误,还可以对 processes 进行重启等操作. 有了 superv ...

  6. 跟我一起学WCF(13)——WCF系列总结

    引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ ...

  7. NuGet v3 feed带来的惊喜

    估计有1个月了,在mac上编译dnx从来没有成功过,因为在安装nuget packages时连接myget.org总是超时. 今天在 ASP.NET 5 Beta5 Now Available 中得知 ...

  8. [ACM_水题] Yet Another Story of Rock-paper-scissors [超水 剪刀石头布]

    Description Akihisa and Hideyoshi were lovers. They were sentenced to death by the FFF Inquisition. ...

  9. jenkins插件 build timeout和build timestamp

    build timeout plugin, 允许对job设置timeout时间,当超时时,job将abort. build timestamp pluin,使得job log的每次输出前面都增加当时的 ...

  10. AngularJS快速入门指南03:表达式

    AngularJS通过表达式将数据绑定到HTML. AngularJS表达式 AngularJS表达式写在双大括号中:{{ 表达式语句 }}. AngularJS表达式绑定数据到HTML的方式与ng- ...