代码如下,在rowdatabound事件中动态添加dropdownlist控件,但是用户选择变化以后,点保存,我再用
r = this.BulkEditGridView1.Rows[i].Controls[1];直接说超索引
r = this.BulkEditGridView1.Rows[i].Controls.Count; 看了一下control的数量为1,也就是说之前加入的control没有记录下来,请问各位怎么解决
protected void BulkEditGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex == -1)
{
...
}
else
{
DataRowView drv = (DataRowView)e.Row.DataItem;
DataTable dt = (DataTable)this.Session["code"];
DropDownList dd = new DropDownList();
dd.DataSource = dt;
dd.DataTextField = "code_name";
dd.DataBind();
dd.Visible = true;
e.Row.Cells[4].Controls[0].Visible = false;
e.Row.Cells[4].Controls.Add(dd);
}
r = this.BulkEditGridView1.Rows[i].Controls[1];直接说超索引
r = this.BulkEditGridView1.Rows[i].Controls.Count; 看了一下control的数量为1,也就是说之前加入的control没有记录下来,请问各位怎么解决
protected void BulkEditGridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex == -1)
{
...
}
else
{
DataRowView drv = (DataRowView)e.Row.DataItem;
DataTable dt = (DataTable)this.Session["code"];
DropDownList dd = new DropDownList();
dd.DataSource = dt;
dd.DataTextField = "code_name";
dd.DataBind();
dd.Visible = true;
e.Row.Cells[4].Controls[0].Visible = false;
e.Row.Cells[4].Controls.Add(dd);
}
解决方案 »
- 再次求助Exception from HRESULT: 0x800A03EC的错误原因!!!
- 关于EF返回结果集合的问题
- 帮忙
- 这个存储过程应该怎么写
- dataview怎样设置为自定义分页?
- 在页面中如何做一个类似于messagebox的弹出对话框,并有“确定”和”和“取消两个按钮?
- 我在页面提交时做了一个load...的gif动画显示进度,但为什么在提交的时候,动画不懂?
- 如何减少页面刷新??!!清高人献策!!!
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!这个怎么刷新!!!!
- 用C#,asp.net 怎么样删除与创建windows 2000 AD里的用户,能给些代码?急件,谢谢!!
- 如何关闭 VSS2008 自动CSS样式?
- 百度三天收录新站
if ((string)drv.Row.ItemArray[4] == "")
{
dd.SelectedIndex = 0;
}
else
{
string str = (string)drv.Row.ItemArray[4];
dd.SelectedIndex = int.Parse(str);// (int)drv.Row.ItemArray[4];
}
可以设置SelectedIndex,也可以设置DataValueField,而且在这个时候e.Row.Cells[4].Controls.Count也是为2的,但是一点保存回去处理的时候就没有了