asp.net gridview编辑时,下拉框选择上默认的选项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net gridview编辑时,下拉框选择上默认的选项相关的知识,希望对你有一定的参考价值。

protected void GVGrade_RowUpdating(object sender, GridViewUpdateEventArgs e)

Label lb = GVGrade.Rows[e.RowIndex].FindControl("Lable1") as Label;
short id = short.Parse(lb.Text == "" ? "0" : lb.Text);
TextBox tb1 = GVGrade.Rows[e.RowIndex].FindControl("TextBox2") as TextBox;
DropDownList dl = (DropDownList)GVGrade.Rows[e.RowIndex].FindControl("ddlSchoolState");
gm.EditGrade(id, tb1.Text,Convert.ToInt32(dl.SelectedValue));
GVGrade.EditIndex = -1;
BindGVGrade();

protected void GVGrade_RowEditing(object sender, GridViewEditEventArgs e)

GVGrade.EditIndex = e.NewEditIndex;
BindGVGrade();

protected void GVGrade_RowDataBound(object sender, GridViewRowEventArgs e)

if (e.Row.RowType == DataControlRowType.DataRow)

DropDownList dl = (DropDownList)e.Row.FindControl("ddlSchoolState");
if (dl != null)

dl.DataSource = gm.GetSchoolStage();
dl.DataTextField = "stageName";
dl.DataValueField = "sid";
dl.DataBind();



if (e.Row.RowType == DataControlRowType.DataRow)

DropDownList dl = (DropDownList)e.Row.FindControl("ddlSchoolState");
dl.Items.Add(new ListItem("请选择", "0"));
//或dl.Items.Insert(0,new ListItem("请选择", "0"));
追问

什么意思

追答

把这句加到GVGrade_RowEditing和GVGrade_RowUpdating里啊

追问

错误 193 “System.Web.UI.WebControls.GridViewEditEventArgs”并不包含“Row”的

追答

不用加到GVGrade_RowUpdating里
只要加到GVGrade_RowEditing就行了,改成
DropDownList dl = (DropDownList)GVGrade.Rows[e.NewEditIndex].FindControl("ddlSchoolState");
dl.Items.Add(new ListItem("请选择", "0"));
//或dl.Items.Insert(0,new ListItem("请选择", "0"));
把原来的if语句也去掉吧,试试这个

追问

That's wrong!!!
我想知道的是:当你点编辑的时候,绑定的初中还是显示初中,而不是显示下拉框形式的小学。
例如:小学,初中,高中。分别对应的ID是1,2,3.

追答

就是说原来显示的是“初中”,但是点编辑后默认选项变成了“小学”,因为“小学”是第一项
而你还是想默认选项是“初中”,我理解的对不对?

参考技术A 将DropDownList dl = (DropDownList)e.Row.FindControl("ddlSchoolState");
改为DropDownList dl = (DropDownList)e.Row.Cells[*].FindControl(ddlSchoolState");试试
Cells[*] *为你的列数

asp.net中GridView怎样进行分页,编辑,删除操作

用 GridView 做个显示数据的,想直接在控件上进行这些操作,应该要怎样写啊

参考技术A 自已从下载的资料中下载示例看吧,示例包含如下内容:
GridView无代码分页排序
GridView选中,编辑,取消,删除
GridView正反双向排序
GridView和下拉菜单DropDownList结合
GridView和CheckBox结合
鼠标移到GridView某一行时改变该行的背景色方法一
鼠标移到GridView某一行时改变该行的背景色方法二
GridView实现删除时弹出确认对话框
GridView实现自动编号
GridView实现自定义时间货币等字符串格式
GridView实现用“...”代替超长字符串
GridView一般换行与强制换行
GridView显示隐藏某一列
GridView弹出新页面/弹出新窗口
GridView固定表头(不用javascript只用CSS,2行代码,很好用)
GridView合并表头多重表头无错完美版(以合并3列3行举例)
GridView突出显示某一单元格(例如金额低于多少,分数不及格等)
GridView加入自动求和求平均值小计
GridView数据导入Excel/Excel数据读入GridView

以上是关于asp.net gridview编辑时,下拉框选择上默认的选项的主要内容,如果未能解决你的问题,请参考以下文章

asp.net中GridView怎样进行分页,编辑,删除操作

asp.net webforms ajax 更新gridview

Asp.net中GridView使用详解(引)

如何在编辑模式 ASP .Net 中将日期选择器放在 Gridview 中

C# winform gridview 代码转为下拉选择框

使用asp.net中的文本框进行Gridview过滤