你可以放一个panel,里面放明细,然后按钮添加,就把这个明细显示出来,然后把一条条明细记录下来
最后一起插入数据库

解决方案 »

  1.   

    不用Panel呀!
      在this.listView1.Items.Add();里添加参数就O了
        string text ="";
      

  2.   

    用asp.net中的ajax啊,很容易的,而且页面不用刷新。其他的做法都要页面刷新的,功能自然可以实现,但用户的感觉不会很好的。
      

  3.   

    http://www.cnblogs.com/eddie005/archive/2006/08/18/EventsOfDataWebControl.html可以看看中间的demo。
      

  4.   


    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <style type="text/css">
        .panel
        {
            position:absolute;
            left:10px;
            top:50px;
        }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True">
                <asp:ListItem Value="0">請選擇類別</asp:ListItem>
                <asp:ListItem Value="1">A類別</asp:ListItem>
                <asp:ListItem Value="2">B類別</asp:ListItem>
            </asp:DropDownList>
            <br />
            <asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px" CssClass = "panel" Visible="False">
                A:<asp:TextBox ID="TextBox1" runat="server" Width="87px"></asp:TextBox><br />
                A:<asp:TextBox ID="TextBox2" runat="server" Width="87px"></asp:TextBox><br />
                A:<asp:TextBox ID="TextBox3" runat="server" Width="87px"></asp:TextBox></asp:Panel>
            <br />
            <asp:Panel ID="Panel2" runat="server" Height="50px" Width="125px" CssClass = "panel" Visible="False">
                B:<asp:TextBox ID="TextBox4" runat="server" Width="87px"></asp:TextBox><br />
                B:<asp:TextBox ID="TextBox5" runat="server" Width="87px"></asp:TextBox><br />
                B:<asp:TextBox ID="TextBox6" runat="server" Width="87px"></asp:TextBox></asp:Panel> 
        </div>
        </form>
    </body>
    </html>
      protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (DropDownList1.SelectedIndex == 1)
            {
                Panel1.Visible = true;
                Panel2.Visible = false;
            }
            else if (DropDownList1.SelectedIndex == 2)
            {
                Panel1.Visible = false;
                Panel2.Visible = true;
            }
        }
    //我是通過面板和樣式做的。。不知道有用不
      

  5.   

    <table   class=mpTable   id=tblTimeSet   height="100%"   cellSpacing=0   cellPadding=0   width="100%"   border=0   runat="server">   
          <thead>   
          <tr   height=30>   
              <td   class=TdTableHeadL   width=160>&nbsp;   时间点设置</TD>   
              <td   class=TdTableHeadR   colSpan=6>&nbsp;</TD></TR></THEAD>   
          <TBODY>   
          <tr   class=TrItem   height=30>   
              <td   align=center>序号</TD>   
              <td   style="WIDTH:   120px"   align=center>时间点</TD>   
              <TD   style="WIDTH:   120px"   align=center>预计时间</TD>   
              <TD   style="WIDTH:   256px;   HEIGHT:   23px">警告信息</TD>   
              <TD   style="WIDTH:   120px;   HEIGHT:   23px">提前天数</TD>   
              <TD   style="WIDTH:   256px;   HEIGHT:   23px">备注</TD>   
              <TD   style="WIDTH:   120px;   HEIGHT:   23px">完成时间</TD>   
            </TR>   
          </TBODY>   
          <tfoot>   
          <tr   class=TrFooter>   
              <td   align=center   colSpan=7><asp:imagebutton   id=btnAdd   accessKey=Y   Runat="server"   ImageUrl="../images/btn_New.gif><TD></TR>   
      </TFOOT>   
      </TABLE>   
        
      在后台c#中通过循环对table进行动态增加行tblTimeSet.Rows.Add("<tr><TD>dfdfdf</TD></TR>");   
      该如何进行,谢谢   象这样:   
        
      protected   System.Web.UI.HtmlControls.HtmlTable   mainTable;   
        
        
        
        
      HtmlTableRow   r1=new   HtmlTableRow();   
      HtmlTableCell   c1=new   HtmlTableCell();   
      c1.ColSpan=2;   
      HtmlAnchor   a=new   HtmlAnchor();   
      a.InnerHtml   =string.Format(@"<font   size=""2""><b>{0}</b></font>",title);   
      c1.Controls.Add(a);   
      r1.Cells.Add(c1);   
      this.mainTable.Rows.Add(r1);   
        
      HtmlTableRow   r2=new   HtmlTableRow();   
      HtmlTableCell   c21=new   HtmlTableCell();   
      c21.Attributes["class"]="font";   
      c21.Attributes["width"]="2%";   
      HtmlTableCell   c22=new   HtmlTableCell();   
      c22.Attributes["class"]="font";   
      c22.Attributes["width"]="98%";   
      HtmlGenericControl   span=new   HtmlGenericControl("span");   
      span.InnerHtml   =summery;   
      c22.Controls.Add(span);   
      r2.Cells.Add(c21);   
      r2.Cells.Add(c22);   
      this.mainTable.Rows.Add(r2);  for(int   rowcount=0;   rowcount<5;   rowcount++)   
                        {   
                              HtmlTableRow   row   =   new   HtmlTableRow();   
                                
                              //   Create   the   cells   of   a   row.     
                              for(int   cellcount=0;   cellcount<4;   cellcount++)   
                              {   
                                    HtmlTableCell   cell;   
        
                                    //   Create   table   header   cells   for   first   row.   
                                    if(rowcount   <=   0)   
                                    {   
                                          cell   =   new   HtmlTableCell("th");   
                                    }   
                                    else   
                                    {   
                                          cell   =   new   HtmlTableCell();   
                                    }   
        
                                    //   Create   the   text   for   the   cell.   
                                    cell.Controls.Add(new   LiteralControl(   
                                            "row   "   +   rowcount.ToString()   +   ",   "   +     
                                            "column   "   +   cellcount.ToString()));   
        
                                    //   Add   the   cell   to   the   Cells   collection   of   a   row.     
                                    row.Cells.Add(cell);   
                                      
                              }   
        
                              //   Add   the   row   to   the   Rows   collection   of   the   table.   
                              table.Rows.Add(row);  
      

  6.   

    <script language=javascript>
    var i=0;
    var rowIndex=12;
    function AddRow()
    {
    oTR1 = table1.insertRow(rowIndex);oTD1 = oTR1.insertCell(0);
    oTD2 = oTR1.insertCell(0);
    oTD3 = oTR1.insertCell(0);
    oTD4 = oTR1.insertCell(0);oTD1.innerHTML = " <input type=text name=name" + i + ">";
    oTD2.innerHTML = " <input type=text name=num" + i + ">";
    oTD3.innerText = " <input type=text name=post" + i + ">";
    oTD4.innerText = " <input type=text name=type" + i + ">";
    i++;
    rowIndex++;
    }function ReadValue()
    {
    var info = "";
    var objInfo = document.getElementsByID("txtInfo");  // txtInfo是服务器控件
    for(j=0; j<i; j++)
    {
      var temp = "";
      var objname = document.all("name"+j);
      var objnum = document.all("num"+j);
      var objpost = document.all("post"+j);
      var objtype = document.all("type"+j);
      temp = temp + objname.value +"\\" + objnum.value +"\\" +objpost.value +"\\" +objtype.value; 
      info = info + temp;  
    }
    objInfo.value = info;
    }function deleteRow()
    {
      rowIndex--;
      i--;
      table1.deleteRow(rowIndex);
    }在C#代码中用
    string[] str=TextBox1.Text.Split("\\") ;
    取出分隔好的字符串。注:将txtInfo的visible不能设为false,否则javascript无法读取,如用<type=hidden> C#无法读取,我的做法是:将txtInfo的width与height设为0,bordercolor设为背景色。