我先显示数据库数据用datagrid,然后点击编辑的时候,有项数据需要用dropdownlist显示,请问如何做,如何让在编辑的时候数据以dropdownlist方式显示

解决方案 »

  1.   

    1、在datagrid属性生成器中为datagrid加入模板列
    2、回到设计界面,编辑模板,然后在EditItemTemplate加入一个dropdownlist控件
      

  2.   

    你可能还没有明白我的意思,我的意思是在显示的时候没有dropdownlist,当编辑的时候才出来
      

  3.   

    就是上面那位兄弟的方法.显示的时候是用datagrid显示的,在EditItemTemplate加入一个dropdownlist控件,点击编辑的时候,它就会自动切换了.
      

  4.   

    如果是用VS.NET2005的话,你可以一句代码也不用写就可以了.直接用下拉模板列,指定它的SQLDATASOURCE来源以及下拉框默认的值的来源就行了..
      

  5.   

    在datagrid里面放一个模板列,编辑它,在edit里面放下拉框.然后,在编辑事件里面
    int myitem = e.Item.ItemIndex;
    this.datagrid1.DataBind();
    sql = "select id,name from table";
    DataTable mytab = 根据SQL取得数据集;
    DropDownList mydown = (DropDownList)this.datagrid1.Itmes[myitem].FindControl("下拉框ID");
    mydown.DataSource = mytab;
    mydown.DataTextField = "name";
    mydown.DataValueField = "id";
    mydown.DataBind();
    mydown.SelectedValue = "要预先选中的值";
      

  6.   

    1.*.aspx文件
      <ItemTemplate>
    <asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.状态") %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate> <asp:DropDownList id="DropDownList1" runat="server" Width="78px" SelectedIndex='<%# GetStatusIndex(DataBinder.Eval(Container,"DataItem.状态").ToString())%>'>
    <asp:ListItem Value="未完成">未完成</asp:ListItem>
    <asp:ListItem Value="完成">完成</asp:ListItem>
    </asp:DropDownList>
    </EditItemTemplate>
    2. *.cs文件代码(一般只有这个事件中用到取值)
     private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
        
    DropDownList status=(DropDownList)e.Item.FindControl("DropDownList1");
    Ope_Index.myDateSet.Tables[0].Rows[currentIndex]["状态"]=status.SelectedValue;
    tmpDgrd.EditItemIndex=-1;
    tmpDgrd.DataSource=Ope_Index.myDateSet;
    tmpDgrd.DataBind();
    }
      

  7.   

    sql = "select id,name from table";
    DataTable mytab = 根据SQL取得数据集;这里不是很清楚?谢谢
      

  8.   

    你平时是怎么取得数据的?
    我是不知道,不过,有了SQL给你,你还不知道如何求取吗?
      

  9.   

    对了,我知道了,但是我说的意思和你说的不一样,我刚才做了的,我想是显示数据的时候就用文本显示,然后编辑的时候,就显示为dropdownlist1呵呵,我市这个意思的!