【发布时间】:2017-05-25 05:26:07
【问题描述】:
我创建了带有文本框和按钮的gridview。在文本框中,我可以输入要添加到网格中的列数所需的数字。列标题应该像 t1、t2 一样改变...这是我的代码。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
griddisplay();
}
}
public void griddisplay()
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM testclientinfo", con);
SqlDataReader dr = cmd.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
con.Close();
}
protected void btnadd_Click(object sender, EventArgs e)
{
int num;
num = Convert.ToInt32(txtnumber.Text.Trim());
for (int i = 1; i <= num; i++)
{
string name = "t";
name = string.Concat(name, i);
BoundField test = new BoundField();
test.HeaderText = name;
GridView1.Columns.Add(test);
}
}
问题是 1.当我在文本框中输入数字并单击添加按钮列时,第二次单击添加按钮时添加了列。 2. 例如,如果我在文本框中输入 2 t1 & t2 列添加,再次单击添加列标题应为 t3 & t4 但再次添加 t1 和 t2。请帮忙。
【问题讨论】:
-
第一个问题的答案是在
if(!IsPostBack)下的page_load中放入griddisplay调用。 -
@ChetanRanpariya 它不工作
-
添加列还需要点击两次?你能更新你改变的代码吗?
-
gridview 的autogeneratedcolumns 设置为false?
-
@ChetanRanpariya 是 AutoGenerateColumns="false"
标签: c# asp.net sql-server gridview