日期:2014-05-17  浏览次数:20426 次

简单的循环 输出Table。
页面得到一个小Table 这个Table里面有多行,多列。
根据已知的一数:比如(37)
如何根据这个数,假如横向为4列,那就应该有10 行 4列 (4*9)+1=37 最后一行只有一个Table,其他的每行都4个Talbe。
页面总计应该就要有 37个Table.
求大侠们多多指教。

------解决方案--------------------
当输入是个DataTable


//javascript
//json={{columns:[A,B]},{data:[['a1','b1'],['a2','b2']]}};//datatable 转换的json示例
//假设页面引用了jQuery
$(function(){
var tab=$("<table/>");
var row= tab[0].insertRow(-1);
$(json.columns).each(function(){
var cell=row.insertCell(-1);
$(cell).html(this);
})
//以上代码会生成一个tr行,该行显示表头。其他自己写
})


//C#
//dataTable  输入的DataTable对象
System.Web.UI.HTMLControl.HTMLGer... hgc=new System.Web.UI.HTMLControl.HTMLGer...("div");//Ger...忘记怎么拼了
string th="";
foreach(Column cn in dataTable.Columns)
{
th+=string.format("<td>{0}</td>",cn.Name);
}
hgc.innerHTML=string.format("<table><tr>{0}</tr><table>",th);
Controls.Add(hgc);
//同样只有表头部分

------解决方案--------------------

CreateTable(37,4);
public string CreateTable(int cellCount, int columnCount)
{
    StringBuilder resultSb = new StringBuilder();
    resultSb.Append("<table border='1' width='300' height='300'>");
    int trCount = cellCount / columnCount;
    int trMod = cellCount % columnCount;
    for (int i = 0; i < trCount; i++)
    {
        resultSb.Append("<tr>");
        for (int j = 0; j < columnCount; j++)
        {
            resultSb.Append("<td></td>");
        }
        resultSb.Append("</tr>");
    }
    if (trMod > 0)
    {
        resultSb.Append("<tr>");
        for (int k = 0; k < trMod; k++)
        {
            resultSb.Append("<td></td>");
        }
        resultSb.Append("<td colspan=\"" + (columnCount - trMod).ToString() + "\"></td>");
        resultSb.Append("</tr>");
    }
    resultSb.Append("</table>");
    return resultSb.ToString();
}

------解决方案--------------------
引用:
引用:
后台:
   public int tableNum=37;
前台:
   <%for(int i=0;i<37:i++){%>
<table><table>
<%}%>
类似于这种。。想要什么格式 自己组合
<