using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace qqq
{
/// <summary>
/// WebForm3 的摘要说明。
/// </summary>
public class WebForm3 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.Table Table4;
protected System.Web.UI.WebControls.TextBox TextBox1;
public int v;
public ArrayList myAL=new ArrayList ();
ArrayList myAL1;
CheckBox checkbox;
TextBox textbox;
DropDownList dropdownlist;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
v=int.Parse (Request.QueryString [2]);
for(int i=0;i<v;i++)
{
myAL1 = new ArrayList();
TableRow tr=new TableRow();
tr.HorizontalAlign =HorizontalAlign.Center;
tr.VerticalAlign =VerticalAlign.Middle;
TableCell tc=new TableCell();
checkbox=new CheckBox ();
//checkbox.AutoPostBack =true;
tc.BorderWidth =1;
checkbox.ID ="checkbox"+i.ToString ();
//checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged);
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add (checkbox);
tc=new TableCell();
checkbox=new CheckBox ();
checkbox.AutoPostBack =true;
tc.BorderWidth =1;
checkbox.ID ="checkboxA"+i.ToString ();
checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged);
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add (checkbox);
tc=new TableCell();
tc.BorderWidth =1;
textbox=new TextBox ();
textbox.BackColor =Color.WhiteSmoke;
//textbox.Height =15;
textbox.Width =80;
tc.HorizontalAlign =HorizontalAlign.Left ;
textbox.BorderStyle =BorderStyle.None ;
textbox.ID ="textboxD"+i.ToString ();
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
tc=new TableCell();
tc.BorderWidth =1;
dropdownlist=new DropDownList ();
dropdownlist.ID ="dropdownlist"+i.ToString ();
dropdownlist.Items.Add("字符");
dropdownlist.Items.Add("整数");
dropdownlist.Items.Add("文本");
dropdownlist.Items.Add("小数");
dropdownlist.Items.Add("日期");
dropdownlist.BackColor =Color.WhiteSmoke ;
dropdownlist.SelectedIndexChanged+= new System.EventHandler(mydropdownlist1_SelectedIndexChanged);
tc.Controls .Add (dropdownlist);
tr.Controls .Add (tc);
myAL1.Add (dropdownlist);
tc=new TableCell();
tc.BorderWidth =1;
tc.HorizontalAlign =HorizontalAlign.Left ;
textbox=new TextBox ();
textbox.ID ="textboxA"+i.ToString ();
textbox.BorderStyle =BorderStyle.None ;
textbox.BackColor =Color.WhiteSmoke;
textbox.Width =40;
//textbox.Height =15;
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
tc=new TableCell();
checkbox=new CheckBox ();
tc.BorderWidth =1;
checkbox.ID ="checkboxB"+i.ToString ();
checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged1);
checkbox.AutoPostBack =true;
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add(checkbox);
tc=new TableCell();
checkbox=new CheckBox ();
tc.BorderWidth =1;
checkbox.ID ="checkboxC"+i.ToString ();
//checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged);
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add (checkbox);
tc=new TableCell();
tc.BorderWidth =1;
dropdownlist=new DropDownList ();
dropdownlist.Items.Add("单行");
dropdownlist.Items.Add("多行");
dropdownlist.Items.Add("范围");
dropdownlist.ID ="dropdownlistA"+i.ToString ();
dropdownlist.BackColor =Color.WhiteSmoke ;
dropdownlist.SelectedIndexChanged+= new System.EventHandler(mydropdownlist1_SelectedIndexChanged);
tc.Controls .Add (dropdownlist);
tr.Controls .Add (tc);
myAL1.Add (dropdownlist);
tc=new TableCell();
tc.BorderWidth =1;
tc.HorizontalAlign =HorizontalAlign.Left ;
textbox=new TextBox ();
textbox.ID ="textboxB"+i.ToString ();
textbox.Width =40;
textbox.BackColor =Color.WhiteSmoke;
//textbox.Height =15;
textbox.BorderStyle =BorderStyle.None ;
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
tc=new TableCell();
tc.BorderWidth =1;
textbox=new TextBox ();
//tc.HorizontalAlign =HorizontalAlign.Left ;
textbox.BackColor =Color.WhiteSmoke;
//textbox.Height =15;
textbox.ID ="textboxC"+i.ToString ();
textbox.BorderStyle =BorderStyle.None ;
textbox.Width =40;
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
this.Table4 .Controls .Add (tr);
this.myAL .Add (myAL1);
}
this.TextBox1 .Text =Request.QueryString [0];
this.TextBox2 .Text =Request.QueryString [1];
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void TextBox1_TextChanged(object sender, System.EventArgs e)
{
}
private void mycheckedchanged(object sender, System.EventArgs e)
{
string i=(((System.Web.UI.WebControls.CheckBox)sender).ID).Remove (0,9);
int j=int.Parse (i);
ArrayList myAL2 = new ArrayList();
myAL2=(ArrayList)this.myAL[j];
((CheckBox)myAL2[5]).Enabled =false;
Response.Write (this.myAL .Count .ToString ());
Response.Write (this.Table4 .Rows .Count .ToString ());
}
private void mycheckedchanged1(object sender, System.EventArgs e)
{
string i=(((System.Web.UI.WebControls.CheckBox)sender).ID).Remove (0,9);
int j=int.Parse (i);
//this.myAL .RemoveAt (j);
this.Table4 .Rows.RemoveAt (j+1);
}
private void mydropdownlist1_SelectedIndexChanged(object sender, System.EventArgs e)
{
//checkboxA0
}
}
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace qqq
{
/// <summary>
/// WebForm3 的摘要说明。
/// </summary>
public class WebForm3 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.Table Table4;
protected System.Web.UI.WebControls.TextBox TextBox1;
public int v;
public ArrayList myAL=new ArrayList ();
ArrayList myAL1;
CheckBox checkbox;
TextBox textbox;
DropDownList dropdownlist;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
v=int.Parse (Request.QueryString [2]);
for(int i=0;i<v;i++)
{
myAL1 = new ArrayList();
TableRow tr=new TableRow();
tr.HorizontalAlign =HorizontalAlign.Center;
tr.VerticalAlign =VerticalAlign.Middle;
TableCell tc=new TableCell();
checkbox=new CheckBox ();
//checkbox.AutoPostBack =true;
tc.BorderWidth =1;
checkbox.ID ="checkbox"+i.ToString ();
//checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged);
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add (checkbox);
tc=new TableCell();
checkbox=new CheckBox ();
checkbox.AutoPostBack =true;
tc.BorderWidth =1;
checkbox.ID ="checkboxA"+i.ToString ();
checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged);
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add (checkbox);
tc=new TableCell();
tc.BorderWidth =1;
textbox=new TextBox ();
textbox.BackColor =Color.WhiteSmoke;
//textbox.Height =15;
textbox.Width =80;
tc.HorizontalAlign =HorizontalAlign.Left ;
textbox.BorderStyle =BorderStyle.None ;
textbox.ID ="textboxD"+i.ToString ();
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
tc=new TableCell();
tc.BorderWidth =1;
dropdownlist=new DropDownList ();
dropdownlist.ID ="dropdownlist"+i.ToString ();
dropdownlist.Items.Add("字符");
dropdownlist.Items.Add("整数");
dropdownlist.Items.Add("文本");
dropdownlist.Items.Add("小数");
dropdownlist.Items.Add("日期");
dropdownlist.BackColor =Color.WhiteSmoke ;
dropdownlist.SelectedIndexChanged+= new System.EventHandler(mydropdownlist1_SelectedIndexChanged);
tc.Controls .Add (dropdownlist);
tr.Controls .Add (tc);
myAL1.Add (dropdownlist);
tc=new TableCell();
tc.BorderWidth =1;
tc.HorizontalAlign =HorizontalAlign.Left ;
textbox=new TextBox ();
textbox.ID ="textboxA"+i.ToString ();
textbox.BorderStyle =BorderStyle.None ;
textbox.BackColor =Color.WhiteSmoke;
textbox.Width =40;
//textbox.Height =15;
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
tc=new TableCell();
checkbox=new CheckBox ();
tc.BorderWidth =1;
checkbox.ID ="checkboxB"+i.ToString ();
checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged1);
checkbox.AutoPostBack =true;
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add(checkbox);
tc=new TableCell();
checkbox=new CheckBox ();
tc.BorderWidth =1;
checkbox.ID ="checkboxC"+i.ToString ();
//checkbox.CheckedChanged += new System.EventHandler(mycheckedchanged);
tc.Controls .Add (checkbox);
tr.Controls .Add (tc);
myAL1.Add (checkbox);
tc=new TableCell();
tc.BorderWidth =1;
dropdownlist=new DropDownList ();
dropdownlist.Items.Add("单行");
dropdownlist.Items.Add("多行");
dropdownlist.Items.Add("范围");
dropdownlist.ID ="dropdownlistA"+i.ToString ();
dropdownlist.BackColor =Color.WhiteSmoke ;
dropdownlist.SelectedIndexChanged+= new System.EventHandler(mydropdownlist1_SelectedIndexChanged);
tc.Controls .Add (dropdownlist);
tr.Controls .Add (tc);
myAL1.Add (dropdownlist);
tc=new TableCell();
tc.BorderWidth =1;
tc.HorizontalAlign =HorizontalAlign.Left ;
textbox=new TextBox ();
textbox.ID ="textboxB"+i.ToString ();
textbox.Width =40;
textbox.BackColor =Color.WhiteSmoke;
//textbox.Height =15;
textbox.BorderStyle =BorderStyle.None ;
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
tc=new TableCell();
tc.BorderWidth =1;
textbox=new TextBox ();
//tc.HorizontalAlign =HorizontalAlign.Left ;
textbox.BackColor =Color.WhiteSmoke;
//textbox.Height =15;
textbox.ID ="textboxC"+i.ToString ();
textbox.BorderStyle =BorderStyle.None ;
textbox.Width =40;
tc.Controls .Add (textbox);
tr.Controls .Add (tc);
myAL1.Add (textbox);
this.Table4 .Controls .Add (tr);
this.myAL .Add (myAL1);
}
this.TextBox1 .Text =Request.QueryString [0];
this.TextBox2 .Text =Request.QueryString [1];
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void TextBox1_TextChanged(object sender, System.EventArgs e)
{
}
private void mycheckedchanged(object sender, System.EventArgs e)
{
string i=(((System.Web.UI.WebControls.CheckBox)sender).ID).Remove (0,9);
int j=int.Parse (i);
ArrayList myAL2 = new ArrayList();
myAL2=(ArrayList)this.myAL[j];
((CheckBox)myAL2[5]).Enabled =false;
Response.Write (this.myAL .Count .ToString ());
Response.Write (this.Table4 .Rows .Count .ToString ());
}
private void mycheckedchanged1(object sender, System.EventArgs e)
{
string i=(((System.Web.UI.WebControls.CheckBox)sender).ID).Remove (0,9);
int j=int.Parse (i);
//this.myAL .RemoveAt (j);
this.Table4 .Rows.RemoveAt (j+1);
}
private void mydropdownlist1_SelectedIndexChanged(object sender, System.EventArgs e)
{
//checkboxA0
}
}
}
so……
mycheckedchanged的时候,两个相关联的checkbox状态并没有改变。
代码太长,我没仔细看,不知你要实现什么功能
一般方法是用ViewState保存状态,下次创建时(Page.IsPostBack)根据ViewState的状态来创建