前台table1的一个<td>中又有一个table
<TABLE id="tb" runat="server" border="0" cellSpacing="2" cellPadding="1" width="100%" align="center"></TABLE>这个表中的数据是从数据库中取出,并要判断状态:
=0时无链接
=1时第二个有链接
=2时都有链接我在后台应怎么将数据库中的数据添加到表中?
这是我写的代码不过运行不了.有好多问题.请大家帮我看看该怎么改.
{int r;
string sqlstr="select id,room,statu from rooms where statu>0";
SqlConnection con=DB.con();
SqlCommand cmd=new SqlCommand(sqlstr,con);
con.Open();
SqlDataReader SqlReader ;
SqlReader=cmd.ExecuteReader();
while (SqlReader.Read()) //循现将数据加到表中
{ //下面几行代码是要创建表中的行,不知道对不对
    HtmlTableRow Row = new HtmlTableRow();
    Row.BgColor = rowColor;
    HtmlTableCell Cell =new HtmlTableCell();
             Cell.InnerHtml = myvalue;
             Row.Cells.Add(Cell);
    Table.Rows.Add(Row);
    r=tb.Rows.Count-1;
  //下面就是判断各种状态下表中应怎么显示.(tb.Rows.Add)不对,不知该用什么向表中添加.
             if(s==0)//没登陆
     tb.Rows.Add(SqlReader.GetValue(1).ToString()+"A|B");                     
   if(s==1)//已登陆
   {
      if((int)SqlReader.GetValue(2)==0)
        tb.Rows.Add(SqlReader.GetValue(1).ToString()+"A|B");
      if((int)SqlReader.GetValue(2)==1)
        tb.Rows.Add(SqlReader.GetValue(1).ToString()+"A| <a href='ly.aspx?roomid=" + SqlReader.GetValue(0).ToString() + "'>B</a>");
    if((int)SqlReader.GetValue(2)==2)
               tb.Rows.Add(SqlReader.GetValue(1).ToString()+"<a href='#' onclick=newWin('ch.aspx?roomid=" + SqlReader.GetValue(0).ToString() + "&roomname=" + SqlReader.GetValue(1).ToString() + ">A</a> | <a href='rly.aspx?roomid=" + SqlReader.GetValue(0).ToString() +"&roomname=" + SqlReader.GetValue(1).ToString() + "'>B</a>");
             }
}

解决方案 »

  1.   

    你在那个前台table1的一个<td>中加个Table控件如id=Table1,然后后台用
      TableCell cell=New TableCell();
    TableRow row = New TableRow();
    cell.Text=myvalue;
    row.Controls.Add(cell)
    Table1.Controls.Add(row)
    这就可以了
      

  2.   

    按dgrwang()的方法我做出了一大部分.有过要将TableCell这样的都改成HtmlTableCell,cell.text也要改成Cell.InnerHtml就可以了.
    现在还有一个问题.我做出来后表格中的数据都在一个<td>中,不容易对齐.我想让表中的每一行都有两个<td>把'A|B'放在一个<td>中.其他的放在一个<td>中.我还应该加些什么代码呢?while (SqlReader.Read()) 
    {
    HtmlTableCell Cell=new HtmlTableCell();
    HtmlTableRow Row=new HtmlTableRow();
    if(s==0)
    //把SqlReader.GetValue(1).ToString()写到一个<td>里,把"A|B"写到别一个<td>里    Cell.InnerHtml=SqlReader.GetValue(1).ToString()+"  A|B";
    if(s==1)
    {
    if(SqlReader.GetValue(2).ToString()=="0")
       Cell.InnerHtml=SqlReader.GetValue(1).ToString()+"  A|B";
    if(SqlReader.GetValue(2).ToString()=="1")
       Cell.InnerHtml=SqlReader.GetValue(1).ToString()+"  A|<a href='rly.aspx?roomid=" + SqlReader.GetValue(0).ToString() + "'>B</a>";
    if(SqlReader.GetValue(2).ToString()=="2")
       Cell.InnerHtml=SqlReader.GetValue(1).ToString()+"  <a href='#' onclick=newWin('ch.aspx?roomid=" + SqlReader.GetValue(0).ToString() + "&roomname=" + SqlReader.GetValue(1).ToString() + "')>A</a> | <a href='ly.aspx?roomid=" + SqlReader.GetValue(0).ToString() + "'>B</a>";
           }
    Row.Controls.Add(Cell);
    rooms_tb.Controls.Add(Row);
    }
      

  3.   

    我是多加了一个Cell
    HtmlTableCell Cel=new HtmlTableCell();
    然后把他们都分着写:
    Cell.InnerHtml=SqlReader.GetValue(1).ToString();
    Cel.InnerHtml="聊天室|留言区";
    最后
    Row.Controls.Add(Cell);
    Row.Controls.Add(Cel);
    tb.Controls.Add(Row);
    不知还有没有更好的方法