2014-05-23 75 views
0

我想每次都從數據集ds向dc添加一行。我想不斷更新Gridview來擴大表格。但是,當我在我的代碼中嘗試它。 Gridview只能根據我在文本框中輸入的內容顯示一行。如何將一行數據集添加到另一個數據集?

public partial class TestGridview : System.Web.UI.Page 
{ 
    int count = 0; 
    DataSet dc = new DataSet(); 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     string text = TextBox1.Text; 

     SqlConnection con = new    SqlConnection(ConfigurationManager.ConnectionStrings["XMLConnectionString"].ConnectionString); 

     // Create the command object 
     string str = "SELECT * FROM XML WHERE [Part_Numbber] = @textInput"; 

     SqlCommand cmd = new SqlCommand(str, con); 
     cmd.Parameters.AddWithValue("textInput", text); 

     SqlDataAdapter da = new SqlDataAdapter(cmd); 

     DataSet ds = new DataSet(); 
     da.Fill(ds, "XML"); 

     if (count == 0) 
     { 
      dc = ds.Clone(); 
      count ++; 
     } 

     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
     { 
      if (ds.Tables[0].Rows[i].ItemArray[0].ToString() != "NULL") 
      { 

       dc.Tables[0].ImportRow(ds.Tables[0].Rows[i]); 
      } 
     } 



     GridView1.DataSource = dc; 
     GridView1.DataBind(); 

    } 
} 

回答

0

您可以利用下面的代碼將1 DT中的行附加到其他最終的DT上。 LikeWise

foreach (DataRow dataRow in dt2.Rows) 
     { 
      DataRow dr = dt1.NewRow(); 
      dr[0] = Convert.ToInt32(dataRow[0]); 
      dr[1] = dataRow[1].ToString(); 
      dr[2] = dataRow[2].ToString(); 
      dt1.Rows.Add(dr); 
     } 
     foreach (DataRow dataRow in dt3.Rows) 
     { 
      DataRow dr = dt1.NewRow(); 
      dr[0] = Convert.ToInt32(dataRow[0]); 
      dr[1] = dataRow[1].ToString(); 
      dr[2] = dataRow[2].ToString(); 
      dt1.Rows.Add(dr); 
     } 
     foreach (DataRow dataRow in dt4.Rows) 
     { 
      DataRow dr = dt1.NewRow(); 
      dr[0] = Convert.ToInt32(dataRow[0]); 
      dr[1] = dataRow[1].ToString(); 
      dr[2] = dataRow[2].ToString(); 
      dt1.Rows.Add(dr); 
     } 
+0

謝謝。目前,問題是一旦我輸入另一個值,變量就會閃爍 – rex

+0

如果您認爲上述發佈的代碼爲您提供瞭解決方案,請單擊接受解決方案... @ rex –

相關問題