跟小D每日学口语

一个动态生成控件的类

public class Copetable
{
  private static HtmlTable ht=new HtmlTable();
  /// <summary>
  /// 自动生成前台控件
  /// </summary>
  /// <param name="tb">表名</param>
  /// <param name="sum">生成行数</param>
  public static void GetControls(HtmlTable tb,int sum)
  {
   ht=tb;
   for(int i=1;i<=sum;i++)
   {
    HtmlTableCell htc1=new HtmlTableCell();
    HtmlTableRow htr=new HtmlTableRow();
    htc1.Width="40";
    htc1.Height="25";
    htc1.Align="center";
    htc1.InnerText=i.ToString();
    htr.Cells.Add(htc1);
    HtmlTableCell htc2=new HtmlTableCell();
    htc2.Width="80";
    htc2.Height="25";
    htc2.Align="left";
                htc2.Controls.Add(WebTextbox("sel" + i.ToString(), "150"));
    htr.Cells.Add(htc2);
                HtmlTableCell htc3 = new HtmlTableCell();
                htc3.Width = "80";
                htc3.Height = "25";
                htc3.Align = "center";
                htc3.InnerText = "获得的分数";
                htr.Cells.Add(htc3);
    HtmlTableCell htc4=new HtmlTableCell();
    htc4.Width="48";
    htc4.Height="25";
    htc4.Align="left";
                htc4.Controls.Add(WebTextbox("score" + i.ToString(), "30"));
    htr.Cells.Add(htc4);
    
    tb.Rows.Add(htr);
   }
  }
private static System.Web.UI.WebControls.TextBox WebTextbox(string Name,string wt)
  {
   System.Web.UI.WebControls.TextBox tb=new TextBox();
   tb.ID=Name;
   tb.Width=Unit.Parse(wt);
   return tb;
  }


此类必须在page中加载,因此一般用传值的方式给予void的形参

posted @ 2009-07-29 12:46  腐乳  阅读(185)  评论(0)    收藏  举报