2011-05-18 95 views
2

我正在使用DataGrid控件。我将它与ADO.NET绑定。GridView中的ASP.NET

我希望如果有新的数据出来,它应该在网格视图中明智地追加旧数据列。如何做到这一点?

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 2011-05-18 19:15:47

+0

+1:好的。大声笑 :) – naveen 2011-05-19 04:35:01

0

你可以使用DataTable.Merge方法。看看MSDN

0

使用这个代码合并数据集

dataSet.Merge(changeDataSet);