就是说,DataGrid里面绑定了DropDownList,但是我点击编辑后,要求出现的DropDownList的当前选项必须是之前点编辑前的数据库内的值,而不是它绑定时候的默认第一项。这个该如何做啊?各位求教!!!

解决方案 »

  1.   

    编辑数据绑定 Bind("<数据项>")
      

  2.   

    可能我没说清楚,我的意思是DataGrid 在 EditItemTemplate时 DropDownList 如何让默认选项=Label1的值
      

  3.   

    <asp:TemplateColumn HeaderText="信息类型">
    <ItemTemplate>
    <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "sex") %>'>
    </asp:Label>
    </ItemTemplate>
    <DropDownList >
    <asp:DropDownList id=sex runat="server" Width="107px">
    </asp:DropDownList>
    </EditItemTemplate>
    </asp:TemplateColumn>
      

  4.   

    http://www.cnblogs.com/weekzero/archive/2006/05/16/401231.html这个是gridview的,与datagrid类似的,可以参考一下
      

  5.   

    void BindData(){
    foreach(DataGridItem dgi in dgShow.Items)
    {
    //以下绑定非编辑状态下拉列表 
    DropDownList ddI = (DropDownList)dgi.FindControl("ddlSexI");
    if(ddI!=null)
    {
    bool bSex = (bool)ds.Tables["studentinfo"].Rows[dgi.ItemIndex]["Sex"];
    if(bSex)
    ddI.SelectedIndex = 0;
    else
    ddI.SelectedIndex = 1;
    }
    //以下绑定编辑状态下拉列表 
    DropDownList ddE = (DropDownList)dgi.FindControl("ddlSexE");
    if(ddE!=null)
    {
    bool bSex = (bool)ds.Tables["studentinfo"].Rows[dgi.ItemIndex]["Sex"];
    if(bSex)
    ddE.SelectedIndex = 0;
    else
    ddE.SelectedIndex = 1;
    }

    }
    }
      

  6.   

    我要的是编辑状态时dropdownlist的值=未编辑时的label 的值啊<asp:TemplateColumn HeaderText="信息类型">
    <ItemTemplate>
    <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "sex") %>'>
    </asp:Label>
    </ItemTemplate>
    <DropDownList >
    <asp:DropDownList id=sex runat="server" Width="107px">
    </asp:DropDownList>
    </EditItemTemplate>
    </asp:TemplateColumn>