2016-11-05 92 views
0

我想在插入的行之后添加新行。我有一个按钮,显示引导模式与一些DropDownLists和Textboxes。单击模式中的按钮应将模态数据插入到表格中。问题是,当我尝试添加新行时,它会替换当前行。什么即时做错了?这里是我的代码示例: 的.cs:将行添加到gridView

protected void addTrip_Click(object sender, EventArgs e) 
    { 
     DataTable dt = new DataTable(); 

     dostawca = DropDownDostawca.SelectedValue.ToString(); 
     cel = txtCel.InnerText; 
     krajZagr = ""; 
     kraj = DropDownKraj.SelectedValue.ToString(); 
     miasto = txtMiasto.Text; 
     if(rbKraj.Checked == true) 
     { 
      krajZagr = "Krajowa"; 
     } 
     if(rbZag.Checked == true) 
     { 
      krajZagr = "Zagraniczna"; 
     } 

     if(cel=="" || miasto=="" || kraj=="" || dostawca=="") 
     { 
      ClientScript.RegisterStartupScript(this.GetType(), "alert", "ShowPopup2();", true); 

     } 
     else 
     { 
      if(gridViewTrips.Columns.Count == 0) 
      { 

       DataRow dr = dt.NewRow(); 
       DataColumn dc = new DataColumn("DO_KOGO"); 
       DataColumn dc2 = new DataColumn("CEL"); 
       DataColumn dc3 = new DataColumn("KRAJOWA_ZAGRANICZNA"); 
       DataColumn dc4 = new DataColumn("KRAJ"); 
       DataColumn dc5 = new DataColumn("MIASTO"); 

       dt.Columns.Add(dc); 
       dt.Columns.Add(dc2); 
       dt.Columns.Add(dc3); 
       dt.Columns.Add(dc4); 
       dt.Columns.Add(dc5); 

       dr["DO_KOGO"] = dostawca; 
       dr["CEL"] = cel; 
       dr["KRAJOWA_ZAGRANICZNA"] = krajZagr; 
       dr["KRAJ"] = kraj; 
       dr["MIASTO"] = miasto; 

       dt.Rows.Add(dr); 
       gridViewTrips.DataSource = dt; 
       gridViewTrips.DataBind(); 
      } 
      else 
      { 
       DataRow dr = dt.NewRow(); 
       dr["DO_KOGO"] = dostawca; 
       dr["CEL"] = cel; 
       dr["KRAJOWA_ZAGRANICZNA"] = krajZagr; 
       dr["KRAJ"] = kraj; 
       dr["MIASTO"] = miasto; 

       dt.Rows.Add(dr); 
       gridViewTrips.DataSource = dt; 
       gridViewTrips.DataBind(); 
      } 





     } 


    } 

的.aspx:

<asp:GridView runat="server" id="gridViewTrips"> 
      <EmptyDataTemplate> 
       <asp:Table ID="TableTrips" runat="server" CssClass="table table-bordered"> 
      <asp:TableHeaderRow> 
       <asp:TableHeaderCell>Do kogo</asp:TableHeaderCell> 
       <asp:TableHeaderCell>Cel</asp:TableHeaderCell> 
       <asp:TableHeaderCell>Krajowa/Zagraniczna</asp:TableHeaderCell> 
       <asp:TableHeaderCell>Kraj</asp:TableHeaderCell> 
       <asp:TableHeaderCell>Miasto</asp:TableHeaderCell> 

      </asp:TableHeaderRow> 

     </asp:Table> 
      </EmptyDataTemplate> 

     </asp:GridView> 

编辑:现在我明白了,当我调试我的项目如果我有什么:“如果(gridViewTrips.Columns .Count == 0)“插入一行后显示我没有任何列。任何想法是怎么回事?

回答