protected void ibtnSumAdd_Click(object sender, ImageClickEventArgs e)
    {     
        string[] fillString = new string[11];
        fillString[0] = this.txtSumClientName .Text .ToString ().Trim ();
        fillString[1] = this.txtSumProjectName .Text.ToString().Trim();
        fillString[2] = this.txtSumContractNo .Text.ToString().Trim();
        fillString[3] = this.dropLine .Text.ToString().Trim();
        fillString[4] = this.dropType .Text.ToString().Trim();
        fillString[5] = this.txtSumPrice .Text.ToString().Trim();
        fillString[6] = this.txtSumAmount .Text.ToString().Trim();
        fillString[7] = this.txtSumAmountSum .Text.ToString().Trim();
        fillString[8] = this.txtSumFillMan .Text.ToString().Trim();
        fillString[9] = this.txtSumFillDate .Text.ToString().Trim();
        fillString[10] = this.txtSumRe .Text.ToString().Trim();        TableRow row = new TableRow();
        for (int i = 0; i < fillString.Length ; i++)
        {
            TableCell cell = new TableCell();
            cell.Text = fillString [i];
            row.Cells.Add(cell);
        }
        this.Table1.Rows.Add(row);
        this.PanelSum.Visible = true;
    }
单击后,能够形成一新行。但是再点击后,不再形成新行,该怎么修改。急!

解决方案 »

  1.   

    只有把你的Tabl1的数据放在Session里!
      

  2.   

      TableRow   row   =Table1.newrow();
                    for   (int   i   =   0;   i   <   fillString.Length   ;   i++) 
                    { 
                           row[i]=fillString[i];
                    } 
                    this.Table1.Rows.Add(row); 
                    this.PanelSum.Visible   =   true; 
      

  3.   


    用ViewState["NewTable"]来保存上次的datatable状态 if (ViewState["NewTable"]==null)
    {
    ViewState["NewTable"]=this.Table1.Clone();
    } string[]   fillString   =   new   string[11]; 
    fillString[0]   =   this.txtSumClientName   .Text   .ToString   ().Trim   (); 
    fillString[1]   =   this.txtSumProjectName   .Text.ToString().Trim(); 
    fillString[2]   =   this.txtSumContractNo   .Text.ToString().Trim(); 
    fillString[3]   =   this.dropLine   .Text.ToString().Trim(); 
    fillString[4]   =   this.dropType   .Text.ToString().Trim(); 
    fillString[5]   =   this.txtSumPrice   .Text.ToString().Trim(); 
    fillString[6]   =   this.txtSumAmount   .Text.ToString().Trim(); 
    fillString[7]   =   this.txtSumAmountSum   .Text.ToString().Trim(); 
    fillString[8]   =   this.txtSumFillMan   .Text.ToString().Trim(); 
    fillString[9]   =   this.txtSumFillDate   .Text.ToString().Trim(); 
    fillString[10]   =   this.txtSumRe   .Text.ToString().Trim();  TableRow   row   =   new   TableRow(); 
    for   (int   i   =   0;   i   <   fillString.Length   ;   i++) 

    TableCell   cell   =   new   TableCell(); 
    cell.Text   =   fillString   [i]; 
    row.Cells.Add(cell); 
    }  ((DataTable)ViewState["NewTable"]).Rows.Add(row);  this.Table1=((DataTable)ViewState["Table1"]).Copy(); //this.Table1.Rows.Add(row); 
    this.PanelSum.Visible   =   true; 
      

  4.   

    this.Table1=((DataTable)ViewState["Table1"]).Copy();
    =>>
    this.Table1=((DataTable)ViewState["NewTable"]).Copy();
      

  5.   

    谢谢wangkun9999。还是不能运行出来啊
      

  6.   

    TableRow   row   =   new   TableRow(); 
    改成 TableRow   row   =  this.Table1.NewRow(); 
      

  7.   

    this.Table1.NewRow();   ?
    没有NewRow()这个方法吗?怎么引用不出来?
      

  8.   


    function AddTableRow(ParentID)/*新增table行*/
      {
        //传入参数说明
        //ParentID 为datagrid id    
        var ColCount=document.getElementById(ParentID).rows[0].cells.length;//得到总列数
        var RowCount=document.getElementById(ParentID).rows.length-1;//得到总行数    
        var Row=document.getElementById(ParentID).insertRow(document.getElementById(ParentID).rows.length); //插入行
        //Row.className="relativeTag";
        for(i=0;i<ColCount;i++)//插入列
          {                       
             var Col = Row.insertCell(i);        
             Col.innerHTML=document.getElementById(ParentID).rows[RowCount].cells[i].innerHTML;  
        }     
    }
      

  9.   

                DataClass data = new DataClass();
                string[] fillString = new string[ 5 ];
                fillString[ 0 ] = this.TextBox2.Text.ToString().Trim();
                fillString[ 1 ] = this.TextBox3.Text.ToString().Trim();
                fillString[ 2 ] = this.TextBox4.Text.ToString().Trim();
                fillString[ 3 ] = this.TextBox5.Text.ToString().Trim();
                fillString[ 4 ] = this.TextBox6.Text.ToString().Trim();            data.rowDatas = fillString;
                List<DataClass> rows = new List<DataClass>();
                if( ViewState[ "rows" ] != null )
                {
                    rows = ( List<DataClass> )ViewState[ "rows" ];
                }
                rows.Add( data );
                foreach( DataClass data1 in rows )
                {
                    fillString = data1.rowDatas;
                    TableRow row = new TableRow();
                    for( int i = 0; i < fillString.Length; i++ )
                    {
                        TableCell cell = new TableCell();
                        cell.Text = fillString[ i ];
                        row.Cells.Add( cell );
                    }
                    this.Table1.Rows.Add( row );
                }
                ViewState.Add( "rows", rows );using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;namespace WebApplication1
    {
        [Serializable]
        public class DataClass
        {
            public string[] rowDatas = new string[ 5 ];
        }
    }
    这样是可以的。
    如果你用数据库的话就重新读一遍数据就可以了