如何在Repeater中放置3个GridView

时间:2011-10-24 05:41:04

标签: asp.net

我有一个很长的表,所以我想将它拆分为3个GridView。每个GridView都有不同的标题(与DB不同的列)。我想使用一个SqlDataSource。为此,我想使用Repeater,然后在其中放入3个GridView。

由于我正在使用StoredProcedure要求一个参数来指定每个GridView的标题,我将该参数设置为HiddenField,但即便如此,我也没有得到任何结果。

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
        <ItemTemplate>

            <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("GroupID")%>' />

            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                                ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
                                SelectCommandType="StoredProcedure">
                <SelectParameters>
                    <asp:ControlParameter ControlID="HiddenField1" />
                </SelectParameters>
            </asp:SqlDataSource>

            <asp:GridView ID="GridView1" runat="server" AllowSorting="True" CellPadding="4" 
                DataKeyNames="BadgeNo" DataSourceID="SqlDataSource1" ForeColor="#333333" 
                GridLines="None">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <Columns>
                    <asp:CommandField ShowSelectButton="True" />
                </Columns>
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <SortedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>

        </ItemTemplate>
    </asp:Repeater>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                       ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
                       SelectCommand="SELECT DISTINCT GroupID
                                from courses">
    </asp:SqlDataSource>

1 个答案:

答案 0 :(得分:0)

要解决此问题,您必须使用plandesign dataSource - 您可以使用LinqEntity ModelDataSet。我认为SqlDataSource不合适。

在当前的代码片段中,您必须设计SELECT - sql语句,其中其中条件/子句SqlDataSource用于GridView控件。