最近遇到一个问题,在一个表单中,点击一个添加按钮会自动增加一行。点击删除按钮就会删除最后一行。
这一行里面有一个列是下拉列表去选,当选中一个值以后(比如选中某个公司名字),这一行的其他列将填充这一个选中公司的一些信息,然后在点击添加按钮又会添加一个行,和第一行是一样的,但是选择不同的公司,这一行的其他列也会填充另外公司的信息,我想知道怎么实现,想来想去都没办法给下拉列表绑定事件。 哪位高手可以指点一下啊?最好又完整的解决思路谢谢了啊。是用ASP.NET做的。
然后点击删除按钮删除最后一行又怎么做呢?

解决方案 »

  1.   

    你可以参考
    http://blog.csdn.net/net_lover/article/details/6678600
    现成的源代码。拷贝粘贴成xx.aspx就可以看效果
      

  2.   

    本帖最后由 net_lover 于 2011-09-07 21:10:55 编辑
      

  3.   

    大哥 我想问的是
    <asp:TemplateField HeaderText="选择1">   
      <ItemTemplate>   
      <asp:DropDownList ID="x1" runat="server">   
      <asp:ListItem>L0</asp:ListItem>   
      <asp:ListItem>L1</asp:ListItem>   
      <asp:ListItem>L2</asp:ListItem>   
      <asp:ListItem>L3</asp:ListItem>   
      </asp:DropDownList>   
      </ItemTemplate>   
      </asp:TemplateField>   
      <asp:TemplateField HeaderText="选择2">   
      <ItemTemplate>   
      <asp:DropDownList ID="x2" runat="server">   
      <asp:ListItem>10#</asp:ListItem>   
      <asp:ListItem>20#</asp:ListItem>   
      <asp:ListItem>30#</asp:ListItem>   
      <asp:ListItem>40#</asp:ListItem>   
      </asp:DropDownList>   
      </ItemTemplate>   
      </asp:TemplateField>   
    能不能也是根据条件自动生成啊?而不是直接写死在那了
      

  4.   

    可以根据条件自动生成if (ViewState["dt"] == null)   
    {   
    DataTable x = ViewState["dt"] as DataTable; 
    for(int i=0;i<x.Rows.Count;i++)
    {
     for(int j=0;j<x.Columns.Count;j++)
    {
     Response.Write (x.Rows[i][j].ToString());
    }
    }
    }  
      

  5.   

    动态生成  protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)   
      {   
      if (e.Row.RowType == DataControlRowType.DataRow)   
      {
        DropDownList x1 = e.Row.FindControl("x1") as DropDownList;
        DropDownList x2 = e.Row.FindControl("x2") as DropDownList;
        x1.DataSource = new String[] { "L0", "L1", "L2", "L3" };
        x1.DataBind();    x2.DataSource = new String[] { "10#", "20#", "30#", "40#" };
        x2.DataBind();
        if (e.Row.RowIndex < this.GetDataTable().Rows.Count - 1)
        {      
          TextBox x3 = e.Row.FindControl("x3") as TextBox;
          x1.AutoPostBack = x2.AutoPostBack = x3.AutoPostBack = true;
          x1.SelectedIndexChanged += new EventHandler(x1_SelectedIndexChanged);
          x2.SelectedIndexChanged += new EventHandler(x2_SelectedIndexChanged);
          x3.TextChanged += new EventHandler(x3_TextChanged);
        }
       
      }   
      } 
      <asp:TemplateField HeaderText="选择1">   
      <ItemTemplate>   
      <asp:DropDownList ID="x1" runat="server">      
      </asp:DropDownList>   
      </ItemTemplate>   
      </asp:TemplateField>   
      <asp:TemplateField HeaderText="选择2">   
      <ItemTemplate>   
      <asp:DropDownList ID="x2" runat="server">
      </asp:DropDownList>   
      </ItemTemplate>   
      

  6.   

    本帖最后由 net_lover 于 2011-09-07 22:11:06 编辑
      

  7.   

    就是刚LOAD页面 不点击添加内容按钮的时候,第一行的下拉列表是空的。