如果某一字段配合下拉列表进行了显示,那如果要更新某一行时应该怎么做?

解决方案 »

  1.   

    一样啊  findcontrol 方法  找dropdownlist 控件id 即可
      

  2.   

    请说详细点好吗
    要具体怎么做?比如我试过用它自带的用SQL语句更新的功能,不过我不会获得DDL的当前文本,没法进行选择;
    如果我自己添加一个更新按钮进行这个字段的更新,那其它的字段是应该用自带的功能还是自定义的功能?如果用自带的,那就只能用自带的功能更新除用了下拉列表这个字段之外的那些字段,而这个字段用自定义的更新代码;如果都用自定义的功能,那其它所有字段我都要改成控件,而不能像原有的功能那样,选择更新哪一行才会在那一行上出现文本框。
    或者告诉我如何动态让某一行或某一列出现或隐藏也行
      

  3.   

    <EditItemTemplate>
    <asp:DropDownList ID="ddl" runat="server" Width="98%">
    </asp:DropDownList>
    </EditItemTemplate>
    protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
      {
      gv.EditIndex = e.RowIndex;
      int id = int.Parse(gv.DataKeys[e.RowIndex].Value.ToString());
      DropDownList ddl= gv.Rows[e.RowIndex].FindControl("ddl") as DropDownList;
      
      gv.EditIndex = -1;
      BindData();
      }protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
      {
      if (e.Row.RowIndex != -1)
      { if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
      {
      ((DropDownList)e.Row.FindControl("ddl")).SelectedValue = ((HiddenField)e.Row.FindControl("Hd_Sort")).Value;
      }
      }
      }
      

  4.   

    我没整明白gv_RowUpdating是在干什么?
      

  5.   

    直接绑定UPDATE方法,好久没用过了,不是不让吗
      

  6.   

    我已经做好了,多亏各位的提醒!
    我是先编辑好GV的模板,再在更新的消息处理里重写一下对应数据源的UpdateCommand把对应于下拉列表的那个数据改好