从一个存储过程填充多个 GridView 控件,可以通过以下步骤实现:
以下是一个示例代码:
// 存储过程
CREATE PROCEDURE GetGridViewData
AS
BEGIN
SELECT * FROM Table1
END
// ASP.NET 页面
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="GetGridViewData" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="ID">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Age" HeaderText="Age" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="GetGridViewData" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
<asp:GridView ID="GridView2" runat="server" DataSourceID="SqlDataSource2" DataKeyNames="ID">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Age" HeaderText="Age" />
</Columns>
</asp:GridView>
// 页面加载事件
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlDataSource1.DataBind();
SqlDataSource2.DataBind();
}
}
以上示例代码中,存储过程 GetGridViewData 查询了需要填充到两个 GridView 控件中的数据,然后在 ASP.NET 页面中分别为每个 GridView 控件创建了一个 SqlDataSource 控件,并将其 DataSourceID 属性设置为对应的 SqlDataSource 控件的 ID。在页面加载事件中,调用每个 SqlDataSource 控件的 DataBind() 方法,将数据填充到对应的 GridView 控件中。
领取专属 10元无门槛券
手把手带您无忧上云