1

我有两个存储过程,它们提供每日刷卡数据,另一个提供临时刷卡详细信息。我需要填充gridview,根据日期,临时卡详细信息必须在每日刷卡数据之间显示。请任何人告诉我如何将两个结果集填充到gridview中

我正在使用 Sql server 2008 R2 和 Visualstudio 2010

4

3 回答 3

2

假设我们使用这个 ResultSet,它有两个 DataTables“Agent”和“RealEstateProperty”。任务是在 GridView 中显示哪些属性属于哪个代理。

在此处输入图像描述

有不同的方法来完成这个任务——

方法一:将DataTables绑定到单个GridView

要将这些多个 DataTable 绑定到单个 GridView 控件,我们可以快速创建一个新的临时 DataTable,其中包含所需的字段并填充 Rows,然后将新的 DataTable Rows 绑定到 GridView。

在此处输入图像描述

上面的代码是不言自明的,我在其中创建了一个临时 DataTable,通过迭代原始 DataTable 填充其行,然后将 Grid 绑定到新的 DataTable.Rows。这里要注意的一段有趣的代码是 row.GetChildRows(),它尊重关系并自动返回相关的子行。aspx 部分如下所示,其中我们有一个包含三列的 GridView。 在此处输入图像描述

并且 RowDataBound 代码是

在此处输入图像描述

方法 2:将 DataTables 绑定到嵌套的 GridView

如果我们想避免像方法1中描述的那样创建临时的dummy DataTable,我们可以使用嵌套列表控制的技术。现在我们可以使用

两个GridView,或者两个DataList,或者两个Repeater,或者Repeater和GridView的组合,或者Repeater和DataList的组合,或者GridView和DataList的组合。

我们将在这里查看 2 个 GridView 的组合,其中一个 GridView 嵌套在另一个 GridView 中,您可以执行上述任何组合。对于这种情况,aspx 代码是-

在此处输入图像描述 请注意,父 GridView 和嵌套 GridView 具有不同的 onrowdatabound 方法。在这种技术中,父网格绑定到代理 DataTable Rows,嵌套的 GridView 绑定到子 RealEstateProperty DataTable Rows。这是代码。

在此处输入图像描述

方法三:将DataSet转换为Objects,然后绑定到GridView

我们可以使用 Xsd.exe 从数据集模式生成 csharp 类,然后将 GridViews 绑定到对象。我在之前的一篇博客文章中讨论了类似的技术,您将在其中找到我们如何使用 .NET Framework 附带的 Xsd.exe。

示例 C:\temp>xsd propertyDataSet.xsd /l:cs /c Microsoft (R) Xml Schemas/DataTypes 支持实用程序 [Microsoft (R) .NET Framework,版本 2.0.50727.42] 版权所有 (C) Microsoft Corporation。版权所有。写入文件“C:\temp\propertydatasetclass.cs”。

我还演示了一个方便的 DataTableToT() 方法来帮助将 DataTable 转换为强类型对象。当我们将 DataTable 转换为强类型对象/列表/集合时,很容易绑定到 GridView 的绑定。

于 2013-08-22T05:20:10.807 回答
1
1.Call your Second stored procedure within first stored procedure.
2.Pass your outcome to dataset.
3.From dataset u can fetch it using ds.table[0],ds.table[1],etc..
于 2013-08-22T05:13:20.437 回答
1

你可以从这里找到,合并数据集内容 http://msdn.microsoft.com/en-us/library/aszytsd8.aspx

于 2013-08-22T05:20:35.373 回答