在后台怎么写添加表格内容的代码?

andybll 2006-06-06 04:37:15
前台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>");
}
}
...全文
746 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
andybll 2006-06-07
  • 打赏
  • 举报
回复
我是多加了一个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);
不知还有没有更好的方法
andybll 2006-06-07
  • 打赏
  • 举报
回复
按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);
}
dgrwang 2006-06-06
  • 打赏
  • 举报
回复
你在那个前台table1的一个<td>中加个Table控件如id=Table1,然后后台用
TableCell cell=New TableCell();
TableRow row = New TableRow();
cell.Text=myvalue;
row.Controls.Add(cell)
Table1.Controls.Add(row)
这就可以了

62,074

社区成员

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

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

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

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