cell.Controls.Add(new LiteralControl(ds.Tables[0].Rows[j][i].ToString()));
改为
for(int k=0; k<3; k++)
{
    cell.Controls.Add(new LiteralControl(ds.Tables[0].Rows[i][k].ToString()));}
可以试一下

解决方案 »

  1.   

    protected void Page_Load(object sender, EventArgs e)
        {
            string str = string.Format("select * from yh");
            DataSet ds = DBAccess.ExecuteDataset(str);
           
            int row_count = 0;
             TableRow row = new TableRow();
             row_count++;
             TableCell cell = new TableCell();
             cell.Controls.Add(new LiteralControl(("用户名")));
             cell.Controls.Add(new LiteralControl(("密码")));
             cell.Controls.Add(new LiteralControl(("确认密码")));
             cell.Controls.Add(new LiteralControl(("电子邮件")));
                for (int j = 1; j < ds.Tables[0].Rows.Count; j++)
                {                TableRow row = new TableRow();
                    row_count++;                for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                    {
                                            cell.Controls.Add(new LiteralControl(ds.Tables[0].Rows[j][i].ToString()));
                        row.Cells.Add(cell);
                        row.Attributes["onMouseOver"] = "this.bgColor='#ccffff'";
                        row.Attributes["onMouseOut"] = "this.bgColor='#ffffff'";
                      
                    }
                    Table1.Rows.Add(row);
                }
            }
      

  2.   

    cell.Controls.Add(new LiteralControl(用户名,密码,确认密码,电子邮件);这句话在两个for的内部,你是将这句话加到每一个单元格中了,应将这句话放在两个for的外面,而且这种加法形式不对,
     
    TableCell cell1 = new TableCell();
    TableCell cell12 = new TableCell();
    TableCell cell13 = new TableCell();
    TableCell cell14 = new TableCell();
    cell1.Controls.Add(new LiteralControl("用户名");
    cell2.Controls.Add(new LiteralControl("密码");
    cell3.Controls.Add(new LiteralControl("确认密码");
    cell4.Controls.Add(new LiteralControl("电子邮件");
    row.Cells.Add(cell1);
    row.Cells.Add(cell2);
    row.Cells.Add(cell3);
    row.Cells.Add(cell4);
    然后再写两个for结构。
      

  3.   

    string sql = "select * from PROJECT where  1=1 and projectstatus in (4,5) order by PROJECTCODE"; 
    这话是什么意思  特别是1=1 这是什么意思啊
      

  4.   

    1=1 就相当于没写。。查询所有。。估计是构造where语句时 比较有规律
    加了where 1=1,后边就直接
    strCondition= " and "+条件
    就行了,不用判断是不是第一行