2008-12-24 122 views
1

使用多个DataSource填充相同的GridView,即我需要使用多个DataSource填充GridView中的数据。请提供代码段,如果可能的...如何使用多个DataSource填充GridView?

更多详细信息: - 表用相同的架构存在于两个不同的数据库。我需要从两者获取数据并将其填充到一个GirdView中。

回答

0

您希望用两种数据源来提供相同类型的对象或相关对象来填充数据网格吗?如果你可以提供一些非常好的细节。

4

也许您可以将来自每个数据源的数据合并到一个数据集中,然后将该数据集指定为数据视图的来源。然而,没有更多的信息,很难推测可能的解决方案。

+0

我同意这一点。创建一个类将查询两个数据库,然后将它们组合到一个数据集中(或列表)。 – DilbertDave 2008-12-24 11:36:35

1

您可以使用两个SqlDataAdapter将您的结果集组合到一个DataTable中,以分别填充来自两个数据库的DataTable。这是一个例子。

 DataTable dt = new DataTable(); 
     using(SqlDataAdapter a1 = new SqlDataAdapter("SELECT * FROM [user1]", "Data Source=DBServer1;Initial Catalog=Database1;User ID=user;Password=***")) 
     a1.Fill(dt); 

     using(SqlDataAdapter a2 = new SqlDataAdapter("SELECT * FROM [user2]", "Data Source=DBServer2;Initial Catalog=Database2;User ID=user;Password=***")) 
     a2.Fill(dt); 

a1.Fill(dt)将初始化DataTable并填充它。 a2.Fill(dt)仅将行添加到来自其他结果集的DataTable dt中。此示例假定两个数据源具有相同的模式。如果不是,则必须准备数据表以容纳两个结果集。

希望这会有所帮助。