2011-05-18 10 views
2

私はDataGridコントロールを使用しています。私はそれをADO.NETにバインドします。ASP.NETのGridView

新しいデータが来たら、グリッドビューで古いデータ列を追加する必要があります。どのようにこれを行うことができますか?

DataTable dt = new DataTable(); 
SqlConnection con = new SqlConnection(); 
con.ConnectionString = "server = (local); initial Catalog = SQLTraining; Integrated Security = SSPI"; 
con.Open(); 
string Selectstring = "select "+attribute_name+" from "+tablename+""; 
SqlCommand cmd = new SqlCommand(Selectstring, con); 
SqlDataAdapter da = new SqlDataAdapter(cmd); 
da.Fill(dt); 

gd.DataSource = dt; 
gd.DataBind(); 

答えて

1

DataTable.Merge()を使用しよう:

DataTable newData = GetDataFromDatabase(); // your code there 
DataTable oldData = (DataTable)gd.DataSource; 
gd.DataSource = oldData.Merge(newData); 
gd.DataBind(); 

とにかくは、using(){}ブロックを使用するように考慮してください。

DataTable dataTable = new DataTable(); 
string connectionString = "server = (local); initial Catalog = SQLTraining; Integrated Security = SSPI"; 
string selectCommandText = String.Format("SELECT {0} FROM {1}", 
    attribute_name, 
    tablename); 
using (SqlConnection selectConnection = new SqlConnection(connectionString)) 
{ 
    using (SqlDataAdapter adapter = new SqlDataAdapter(selectCommandText, selectConnection)) 
    { 
     adapter.Fill(dataTable); 
    } 
} 
gridView.DataSource = dataTable; 
gridView.DataBind(); 
+1

@naveenマージのため、このコード:それもより正確にするが、それはパラメータ化クエリを使用することをお勧めします。あなたはそれを追加できますか?:) – abatishchev

+0

+1:良いもの。笑 :) – naveen

0

あなたはDataTable.Mergeメソッドを使用することができます。 MSDNをご覧ください。

0

使用データセット

dataSet.Merge(changeDataSet);