我用循环语句把数据库的数据显示到PlaceHolder1
不用swich能正常显示用了就不显示了。。郁闷。。
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using MySql.Data.MySqlClient;namespace myweb
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dt = myweb.MySqlConn.GetTable("select * from bbs");
ShowTable(dt);
}
} private void ShowTable(DataTable dt)
{
Table t = new Table();//Table是服务器端的表
//第1行显示列标题
TableRow tr = new TableRow();//定义一行
TableCell tc;
//下面每一行显示数据
for (int i = 0; i < dt.Rows.Count; i++)//遍历行数据
{
tr = new TableRow();
for (int j = 0; j < dt.Columns.Count; j++)//遍历在第i行第j列的数据
{
//switch (j)
//{
// case 1: break;
// case 2:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 489;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 3:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 50;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 4:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 50;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 5:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 70;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 6:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 98;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break; //}
tc = new TableCell();//在该tc中,是可以容纳任何的服务器端控件,可以实现自定义
Label lb = new Label();//创建labl
lb.Width = 70;
lb.Text = dt.Rows[i][j].ToString();
tc.Controls.Add(lb);//将服务器端控件加载到该单元格tc的容器集合中
tr.Cells.Add(tc);
}
t.Rows.Add(tr);
} //显示在PlaceHolder中
this.PlaceHolder1.Controls.Add(t);
} }
}
不用swich能正常显示用了就不显示了。。郁闷。。
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using MySql.Data.MySqlClient;namespace myweb
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dt = myweb.MySqlConn.GetTable("select * from bbs");
ShowTable(dt);
}
} private void ShowTable(DataTable dt)
{
Table t = new Table();//Table是服务器端的表
//第1行显示列标题
TableRow tr = new TableRow();//定义一行
TableCell tc;
//下面每一行显示数据
for (int i = 0; i < dt.Rows.Count; i++)//遍历行数据
{
tr = new TableRow();
for (int j = 0; j < dt.Columns.Count; j++)//遍历在第i行第j列的数据
{
//switch (j)
//{
// case 1: break;
// case 2:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 489;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 3:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 50;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 4:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 50;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 5:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 70;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break;
// case 6:
// {
// tc = new TableCell();
// Label lb = new Label();
// lb.Width = 98;
// lb.Text = dt.Rows[i][j].ToString();
// tc.Controls.Add(lb);
// }
// break; //}
tc = new TableCell();//在该tc中,是可以容纳任何的服务器端控件,可以实现自定义
Label lb = new Label();//创建labl
lb.Width = 70;
lb.Text = dt.Rows[i][j].ToString();
tc.Controls.Add(lb);//将服务器端控件加载到该单元格tc的容器集合中
tr.Cells.Add(tc);
}
t.Rows.Add(tr);
} //显示在PlaceHolder中
this.PlaceHolder1.Controls.Add(t);
} }
}
switch (j)
{
default:break;
}
switch (j)
{
case 2: width = 489; break;
case 3:
case 4: width = 50; break;
case 5: width = 70; break;
case 6: width = 98; break;
}tc = new TableCell();//在该tc中,是可以容纳任何的服务器端控件,可以实现自定义
Label lb = new Label();//创建labl
lb.Width = width;
lb.Text = dt.Rows[i][j].ToString();
tc.Controls.Add(lb);//将服务器端控件加载到该单元格tc的容器集合中
tr.Cells.Add(tc);
{
default: width = 70; break;
}