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

前台:<asp:TemplateFieldHeaderText="所属类名"><ItemTemplate><asp:LabelID="Label3"runat="serv... 前台: <asp:TemplateField HeaderText="所属类名">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%#Eval("firName") %>' ></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="dfirst" runat="server">
</asp:DropDownList>
</EditItemTemplate>
我想在点击修改后,这个下拉框默认选择的项是与数据库中的数值对应的,不知道该如何实现。我的后台代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if(e.Row.RowState == DataControlRowState.Edit ||e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
path = "select firId,secId from video_Video where vId=" + GridView1.DataKeys[e.Row.RowIndex].Value.ToString() +"";

re = sqldo.GetRow(path);
if (re.Read())
{
int firID = Convert.ToInt16(re["firId"].ToString());
re.Close();
//一级类绑定
DropDownList list = (DropDownList)e.Row.FindControl("dfirst");
path = "select * from video_FirstClass";
list.DataSource = sqldo.GetRows(path, "a");
list.DataTextField = "firName";
list.DataValueField = "firId";
list.DataBind();
list.SelectedIndex = Convert.ToInt16(re["firId"].ToString());
sqlcon.SqlClose();
}
展开
 我来答
田代印
2010-09-14
知道答主
回答量:84
采纳率:0%
帮助的人:34.1万
展开全部
把list.SelectedIndex = Convert.ToInt16(re["firId"].ToString());
改成
if(!string.IsNullOrEmpty(re["firId"].ToString()))
{
list.SelectedValue = re["firId"].ToString();
}
判断一下值是否为空,为空可能会报错!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
diaohengming
2010-09-14 · TA获得超过226个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:272万
展开全部
list.SelectedIndex = Convert.ToInt16(re["firId"].ToString());
改成
list.SelectedValue = re["firId"].ToString();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
362496158
2010-09-16
知道答主
回答量:26
采纳率:0%
帮助的人:10.2万
展开全部
创建一个 RowUpdate时间
protected void GV_RowUpdating(object sender, GridViewUpdateEventArgs e)
{

}
最好还是在这里做啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰浪星
2010-09-20 · 超过19用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:50.9万
展开全部
不行找我
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if(e.Row.RowState == DataControlRowState.Edit ||e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
path = "select firId,secId from video_Video where vId=" + GridView1.DataKeys[e.Row.RowIndex].Value.ToString() +"";

re = sqldo.GetRow(path);
if (re.Read())
{
int firID = Convert.ToInt16(re["firId"].ToString());
re.Close();
//一级类绑定
DropDownList list = (DropDownList)e.Row.FindControl("dfirst");
path = "select * from video_FirstClass";
list.DataSource = sqldo.GetRows(path, "a");
list.DataTextField = "firName";
list.DataValueField = "firId";
list.DataBind();

list.SelectedValue = firID.ToString();
sqlcon.SqlClose();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式