当前位置:编程学习 > C#/ASP.NET >>

ASP.NET中动态Table 显示问题

ds = cS.DeviceDes(Tid);
  if (ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
  {
  return;
  }
  int k = ds.Tables[0].Columns.Count - 5;
  foreach (DataRow drow in ds.Tables[0].Rows)
  {
  Panel pl = new Panel();
  pl.ID = "pl" + drow[1].ToString();
  pl.ToolTip = "a" + drow[k].ToString() + "t" + drow[k - 1].ToString();
  Table tb = new Table();
  tb.ID = "a" + drow[k].ToString() + "t" + drow[k - 1].ToString();

  for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
  {
  TableRow tbr = new TableRow();
  TableCell tbCell1 = new TableCell();
  TableCell tbCell2 = new TableCell();

  if (tbCell2.Text != "")
  {
  tbr.Cells.Add(tbCell1);
  tbr.Cells.Add(tbCell2);
  tb.Rows.Add(tbr);
  }

// tb.CssClass = "table11";
 tb.EnableViewState = false;      ///tb,表示table
 tb.Style["font-size"] = "14pt";
 tb.Style["color"] = "#f1fa08";
 pl.Style["display"] = "none";
 pl.Controls.Add(tb);
 Controls.Add(pl);


以上代码的作用是:动态生成Table的。。。但是生成的Table是 多行一列的。。。

我现在要的结果是:动态生成Table的。。。但是生成的Table是 多行两列的。。。

请问各位大侠怎么改上面的代码??????

--------------------编程问答-------------------- 发贴不结贴不是好习惯 --------------------编程问答-------------------- TableCell tbCell1 = new TableCell();
  TableCell tbCell2 = new TableCell();

你这就是生成的两列。循环生成就是多行。那天不是发过帖子了么 --------------------编程问答-------------------- 可是没效果呀 。。。。能指点一下嘛? --------------------编程问答--------------------
引用 3 楼 sunsunboyboy 的回复:
可是没效果呀 。。。。能指点一下嘛?


Table t = new Table();
            for (int i = 0; i < 5; i++)
            {
                TableRow r = new TableRow();
                TableCell cell1 = new TableCell();
                TableCell cell2 = new TableCell();
                cell1.Text = "aaa" + i;
                cell2.Text = "bbb" + i;
                r.Cells.Add(cell1);
                r.Cells.Add(cell2);
                t.Rows.Add(r);
            }
            ad.Controls.Add(t); --------------------编程问答-------------------- <table id="a0t41" border="0" style="font-size:14pt;color:#f1fa08;">
<tr>
<td>名称:</td><td>MU2</td>
</tr><tr>
<td>电压:</td><td>100.3</td>
</tr><tr>
<td>电流:</td><td>55</td>
</tr><tr>
<td>电压2:</td><td>55</td>
</tr><tr>
<td>电流2:</td><td>9.6</td>
</tr><tr>
<td>功率:</td><td>0.0991</td>
</tr>
</table>

上面的改成下面的:


<table id="a0t41" border="0" style="font-size:14pt;color:#f1fa08;">
<tr>
<td>名称:</td><td>MU2</td>
</tr><tr>
<td>电压:</td><td>100.3</td>
</tr><tr>
<td>电流:</td><td>55</td>
</tr><tr>
<td>电压2:</td><td>55</td>
</tr><tr>
<td>电流2:</td><td>9.6</td>
</tr><tr>
<td>功率:</td><td>0.0991</td>
</tr>
</table>

代码如下:

for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
  {
  TableRow tbr = new TableRow();
  TableCell tbCell1 = new TableCell();
  TableCell tbCell2 = new TableCell();

  if (tbCell2.Text != "")
  {
  tbr.Cells.Add(tbCell1);
  tbr.Cells.Add(tbCell2);
  tb.Rows.Add(tbr);
  }

// tb.CssClass = "table11";
tb.EnableViewState = false; ///tb,表示table
tb.Style["font-size"] = "14pt";
tb.Style["color"] = "#f1fa08";
pl.Style["display"] = "none";
pl.Controls.Add(tb);
Controls.Add(pl);

请各位大侠帮帮忙。。。。。。。。。。。


需要在代码的哪里修改??????? --------------------编程问答-------------------- <table id="a0t41" border="0" style="font-size:14pt;color:#f1fa08;">
<tr>
<td>名称:</td><td>MU2</td>
</tr><tr>
<td>电压:</td><td>100.3</td>
</tr><tr>
<td>电流:</td><td>55</td>
</tr><tr>
<td>电压2:</td><td>55</td>
</tr><tr>
<td>电流2:</td><td>9.6</td>
</tr><tr>
<td>功率:</td><td>0.0991</td>
</tr> 
</table>

上面的改成下面的:


<table id="a0t41" border="0" style="font-size:14pt;color:#f1fa08;">
<tr>
<td>名称:</td><td>MU2</td>
<td>电压:</td><td>100.3</td>
</tr>

<tr>
<td>电流:</td><td>55</td>
<td>电压2:</td><td>55</td>
</tr>


<tr>
<td>电流2:</td><td>9.6</td>
<td>功率:</td><td>0.0991</td>
</tr>

</table>

代码如下:

for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
  {
  TableRow tbr = new TableRow();
  TableCell tbCell1 = new TableCell();
  TableCell tbCell2 = new TableCell();

  if (tbCell2.Text != "")
  {
  tbr.Cells.Add(tbCell1);
  tbr.Cells.Add(tbCell2);
  tb.Rows.Add(tbr);
  }

// tb.CssClass = "table11";
tb.EnableViewState = false; ///tb,表示table
tb.Style["font-size"] = "14pt";
tb.Style["color"] = "#f1fa08";
pl.Style["display"] = "none";
pl.Controls.Add(tb);
Controls.Add(pl);

请各位大侠帮帮忙。。。。。。。。。。。


需要在代码的哪里修改??????? --------------------编程问答-------------------- for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
  {
  TableRow tbr = new TableRow();
  TableCell tbCell1 = new TableCell();
  TableCell tbCell2 = new TableCell();

  if (tbCell2.Text != "")
  {
  tbr.Cells.Add(tbCell1);
  tbr.Cells.Add(tbCell2);
  tb.Rows.Add(tbr);
  }

是rows.count。你是需要的多行。不是多列。 --------------------编程问答-------------------- 循环嵌套、一层控制行,一层控制列 --------------------编程问答-------------------- 一层控制行,一层控制列

能帮我写出来嘛??大侠。。我急着用。。。帮帮忙。。。。。。。。。。 --------------------编程问答--------------------  
页面代码

 <asp:Table ID="table" runat="server" Width="100%" border="0">
                                    </asp:Table>
[code=C#]
生成代码

for (int i = 0; i < X * 2; i++)//生成的X*2行
            {
                TableRow tr = new TableRow();
                //if (i % 2 != 0)
                //{
                //   tr.BackColor = System.Drawing.Color.White;
               // }
                this.table.Rows.Add(tr);
                for (int j = 0; j < 2; j++)//生成2列
                {


                    TableCell td = new TableCell();
                    //td.HorizontalAlign = HorizontalAlign.Left;单元格一些设置
                    //td.Width = Unit.Parse("100%");
                    tr.Cells.Add(td);
                }
            }
[/code]
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,