在datagrid中放入两个下拉框:dropdown1、dropdown2;当选择dropdown1是自动更新dropdown2的内容

解决方案 »

  1.   

    示例代码
    http://huobazi.cnblogs.com/archive/2006/04/08/TwoDropDownListInDataGridAndBubbleEvent.html
      

  2.   

    我说的是这两个dropdown已经是datagrid 的模板列了呀
      

  3.   

    贴个简单例子吧:
    <script language="javascript">

    function test(objID)
    {
    var objDropDown = document.getElementById(objID);

    //删除一个选项
    if(objDropDown.options.length>1)
    objDropDown.options.remove(0);

    //增加一个选项
    var oOption = document.createElement("OPTION");
    objDropDown.options.add(oOption);
    oOption.innerText = "adfaegw";
    oOption.value = "fgawegaw";

    //更改选中行
    objDropDown.selectedIndex = objDropDown.options.length-1;
    }
    </script>
    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:DropDownList id="DropDownList1" runat="server">
    <asp:ListItem Value="AAA">AAA</asp:ListItem>
    <asp:ListItem Value="BBB">BBB</asp:ListItem>
    <asp:ListItem Value="CCC">CCC</asp:ListItem>
    <asp:ListItem Value="DDD">DDD</asp:ListItem>
    </asp:DropDownList>
    <asp:DropDownList id="DropDownList2" runat="server">
    <asp:ListItem Value="1111111">1111111</asp:ListItem>
    <asp:ListItem Value="222222222">222222222</asp:ListItem>
    <asp:ListItem Value="3333333">3333333</asp:ListItem>
    <asp:ListItem Value="44444444">44444444</asp:ListItem>
    </asp:DropDownList>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:datagrid>***********************************************************
    代码:
     private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
                if(e.Item.ItemIndex>-1)
                {
                    DropDownList ddlst1 = e.Item.FindControl("DropDownList1") as DropDownList;
                    DropDownList ddlst2 = e.Item.FindControl("DropDownList2") as DropDownList;
                    ddlst1.Attributes.Add("onchange","test('"+ddlst2.ClientID +"');");
                }
            } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
                this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
                this.Load += new System.EventHandler(this.Page_Load);        }
    #endregion