我现在已经做好了tablerow的动态生成,现在有两个问题:
1、每行中都有一列含有一个textbox,当用户点击保存按钮时如何才能获得该用户在textbox里面输入的值?
2、每行中有一列含有一个checkbox,其id为循环生成tablerow时的一个变量值i,那么当用户点击页面上的一个删除按钮时,如何才能做到删除checkbox选中的那些行?

解决方案 »

  1.   

    1.假如你点击的第i个保存按钮,可这样获取textbox的值:
    (this.Table1.Rows[i].FindControl("textbox" + i.ToString()) as TextBox).Text
    2.在删除按钮的click事件处理函数里:
    for(int i=0;i<this.Table1.Rows.Count;i++)
     {
        if((this.Table1.Rows[i].FindControl("checkbox" + i.ToString()) as CheckBox).Checked)
            {
               // i 即为要被删除的行的序号
            }
     }
      

  2.   

    哈哈,我上星期就做过个程序,有你要的功能
    用javascript
      

  3.   

    seesharp(流星追月):
    抱歉,我说漏了一点即所有的button控件不是动态生成的,在这种情况下,我如何才能获取动态生成的textbox的text以及删除checkbox选中的所在行?
      

  4.   

    wcmj(望尘莫及) :能给个代码么?谢谢!
      

  5.   

    我用datagrid做過相似的例子..發代碼給你看看1、每行中都有一列含有一个textbox,当用户点击保存按钮时如何才能获得该用户在textbox里面输入的值?
    =====================================================================================
    for (int i=0;i<myDataGrid.Items.Count;i++)
    {
    TextBox tb=(TextBox)myDataGrid.Items[i].FindControl("TextBox1");
    string sql="update....";
    Excute(sql);
    }=====================================================================================
    2、每行中有一列含有一个checkbox,其id为循环生成tablerow时的一个变量值i,那么当用户点击页面上的一个删除按钮时,如何才能做到删除checkbox选中的那些行?.aspx 里代碼
    <asp:TemplateColumn HeaderText="功能栏">
    <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <input type='CheckBox' name='ID1' id='ID1'  value='<%# DataBinder.Eval(Container.DataItem,"id1")%>'>
    </ItemTemplate>
    </asp:TemplateColumn>.csstring sql = "delete from table where id1 in ("+Request["ID1"]+")";
    Excute(sql);
      

  6.   

    抱歉,我说漏了一点即所有的button控件不是动态生成的,在这种情况下,我如何才能获取动态生成的textbox的text以及删除checkbox选中的所在行?
    ------------------------------------------------------
    上面给的遍历取checkbox值的方法我是当作你的删除按钮不是动态生成的,页面中只有一个删除按钮.如果保存按钮也只有一个,那就也像取checkbox值一样去遍历所有行的textbox