【发布时间】:2015-10-22 23:51:03
【问题描述】:
我想了解一些有关 DataTable 和 GridView 的知识。我在网上找到了一段代码:
protected void Page_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
grid1 = new GridView();
this.form1.Controls.Add(grid1);
grid1.AutoGenerateColumns = false;
table.Columns.Add("Dosage", typeof(int));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
// Here we add five DataRows.
table.Rows.Add(25, "Indocin", "David", DateTime.Now);
table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
table.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
table.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
for (int i = 0; i < table.Columns.Count; i++)
{
BoundField boundfield = new BoundField();
boundfield.DataField = table.Columns[i].ColumnName.ToString();
boundfield.HeaderText = table.Columns[i].ColumnName.ToString();
grid1.Columns.Add(boundfield);
}
grid1.DataSource = table;
grid1.DataBind();
}
结果:enter image description here
但是如果我从标签旁边的下拉列表中更改选择值,结果是:enter image description here
为什么列越来越多?有什么想法吗?
编辑: 我没有写我想将数据库中的数据放入 GridView。我将有一个 SQL 查询,例如"SELECT * FROM TableName WHERE id = " + DropDownList1.SelectedItem,所以我认为它必须与每个 Postback 一起执行。
【问题讨论】:
标签: c# asp.net gridview autopostback