2014-05-23 3 views
0

매번 dataset 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 –

관련 문제