for(int i=0;i<6;i++)
{
TextBox tb = new TextBox();
tb.Width = 180;
TABLE1.Rows[0].Cells[0].Controls.Add(tb);
}
宽度会撑开啊.只是我想试一下高度,但是
TABLE1.Rows[0].Cells[0].InnerHtml+="<br>";竟然运行错误?

解决方案 »

  1.   

    在设计时不要固定table或panel的长度和宽度
      

  2.   

    for i=0 to 5
         r = New TableRow()
         Dim lab As Label = New Label()
         lab.Text = "aaa"
         c = New TableCell()
         c.Controls.Add(lab)
         r.Controls.Add(c)
         Dim txtb As TextBox = New TextBox()
         c = New TableCell()
         c.Controls.Add(txtb)
         r.Controls.Add(c)
         Table1.Rows.Add(r)
    next    
    table 是webtable.
      

  3.   

    就算固定table的宽度也会撑开~
      

  4.   

    这是我的程序的一部分,我在Page_Load()中要调用CreateControls方法请问哪里存在着错误?谢谢各位!private void CreateControls(int typeID)
    {

    Label newLbl;
    TextBox newTbx; Admin admin=new Admin();//Admin.cs是我写的一个Class,主要 
                是负责数据库操作的 int wd=Int32.Parse(MyTable.Rows[0].Cells[0].Width)+Int32.Parse(MyTable.Rows[1].Cells[0].Width);
             
    int ht=Int32.Parse(MyTable.Rows[0].Cells[1].Height)+24;
             //wd和ht是我把要添加的控件定位的坐标,这个坐标在表格的单元
             个中 SqlDataReader readTbx=admin.GetTextBoxs(typeID);
             //admin在上面已经实例化,Admin.cs中有个方法GetTextBoxs,他传
               回SqlDataReader,读取的是TextBox的属性 while (readTbx.Read())
    {
    newTbx=new TextBox();
    int tmp;
    newTbx.ID=readTbx.GetInt32(0).ToString(); tmp=readTbx.GetInt32(1)+wd;
    newTbx.Style["LEFT"]=tmp.ToString()+"px";

    tmp=readTbx.GetInt32(2)+ht;
    newTbx.Style["TOP"]=tmp.ToString()+"px"; newTbx.Style["POSITION"]="absolute";
    newTbx.Width=readTbx.GetInt32(3);
    newTbx.Height=readTbx.GetInt32(4);
    newTbx.Style["Font-Names"]=readTbx.GetString(5);
    newTbx.Style["Font-Size"]=readTbx.GetInt32(6).ToString()+"pt";
    newTbx.Style["ForeColor"]=readTbx.GetString(7); //我分别用如下三种方法添加,效果一样
    //this.MyPanel.Controls.Add(newTbx);
    Page.Controls[1].Controls.Add(newTbx);
    //MyTable.Rows[1].Cells[1].Controls.Add(newTbx);
    }
    //如下是添加Label,同上
    SqlDataReader readLbl=admin.GetLabels(typeID); while (readLbl.Read())
    {
    newLbl=new Label();
    int tmp; tmp=readLbl.GetInt32(0)+wd;
    newLbl.Style["LEFT"]=tmp.ToString()+"px";

    tmp=readLbl.GetInt32(1)+ht;
    newLbl.Style["TOP"]=tmp.ToString()+"px"; newLbl.Style["POSITION"]="absolute";
    newLbl.Width=readLbl.GetInt32(2);
    newLbl.Height=readLbl.GetInt32(3);
    newLbl.Text=readLbl.GetString(4);
    newLbl.Style["Font-Names"]=readLbl.GetString(5);
    newLbl.Style["Font-Size"]=readLbl.GetInt32(6).ToString()+"pt";
    newLbl.Style["ForeColor"]=readLbl.GetString(7); //this.MyPanel.Controls.Add(newLbl);
    //MyTable.Rows[1].Cells[1].Controls.Add(newLbl);
    Page.Controls[1].Controls.Add(newLbl);
    }
    }
      

  5.   

    用另外的方法搞定了:在表格的相应单元格中,也就是要动态生成webform的位置,
    添加这个控件:System.Web.UI.WebControls.Literal然后给他的text属性赋值:
    MyLiteral.Text="<iframe marginheight=0 marginwidth=1 frameborder=0 width=100% height=100% scrolling=Yes src=./ShowCreate.aspx?strQuery="+strQuery+"&fileid="+e.Item.Cells[1].Text.ToString()+"></iframe>";搞定!!!!!谢谢各位!!