例:mypage.aspx?num=xxx
如何添加动态ň复选框列的GridView ASP.NET
我怎么能一个num
复选框列在mypages通过后台代码添加到的GridView?
我又增加了num
列数据表与参数typeof(bool)
,但是当我装我的空间,该复选框被禁用的,所以我不能检查。
例:mypage.aspx?num=xxx
如何添加动态ň复选框列的GridView ASP.NET
我怎么能一个num
复选框列在mypages通过后台代码添加到的GridView?
我又增加了num
列数据表与参数typeof(bool)
,但是当我装我的空间,该复选框被禁用的,所以我不能检查。
这是我网格的aspx代码
所有的<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
<Columns>
</Columns>
</asp:GridView>
首先添加num
许多模板字段到你的GridView
protected void Page_PreInit(object sender, EventArgs e)
{
int num = Request.QueryString["num"];
for (int i = 0; i < num; i++)
{
TemplateField tf = new TemplateField();
tf.HeaderText = "Status";
gv.Columns.Add(tf);
}
}
添加模板精密组件后,现在我们将添加复选框到GridView。我们编写一个函数来添加复选框。以下是代码
private void AddCheckBox()
{
int num = Request.QueryString["num"];
for (int i = 0; i < num; i++)
{
foreach (GridViewRow row in gv.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox cb = new CheckBox();
cb.Checked = true;
row.Cells[i].Controls.Add(cb);
}
}
}
}
现在将此函数放置在您的网格数据绑定事件中。
protected void gv_DataBound(object sender, EventArgs e)
{
AddCheckBox();
}
末了还呼吁在页面加载事件的功能,所以第一次,当电网负荷它显示复选框被选中
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
AddCheckBox();
}
}
要检查我的代码: 我添加绑定费尔德到网格视图和结合网格视图用的数据表:
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Data" HeaderText="Data" />
</Columns>
</asp:GridView>
和在后面的代码在的Page_Load事件我添加以下代码
DataTable dt = new DataTable();
dt.Columns.Add("Data");
DataRow dr = dt.NewRow();
dr[0] = "Test";
dt.Rows.Add(dr);
gv.DataSource = dt;
gv.DataBind();
和也由在功能AddCheckBox 1个变化为
for (int i = 1; i < num + 1; i++)
上面做出改变,因为我在网格的索引0具有数据绑定费尔德视图列,所以我把它改为从1
开始,这里是结果(页输出)
Data Status Status Status Status Status Status Status Status Status Status
Test Checked Checked Checked Checked Checked Checked Checked Checked Checked Checked
检查用于复选框被检查
非常感谢。非常清楚 – 2012-07-27 13:19:56
@KahnCse不用客气。也投票了这个答案。 – 2012-07-27 13:20:50
@KahnCse为什么你撤销我接受的答案? – 2012-09-15 13:04:25
用途:
Request.QueryString["num"]
得到的URL num的值。然后迭代num次,每次向GridView添加一个CheckBoxField。
检查我的答案,它会工作。 – 2012-07-27 10:49:56