我有一个很长的表,所以我想将它拆分为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>
答案 0 :(得分:0)
要解决此问题,您必须使用plan
或design
dataSource - 您可以使用Linq
或Entity Model
或DataSet
。我认为SqlDataSource
不合适。
在当前的代码片段中,您必须设计SELECT - sql语句,其中其中条件/子句SqlDataSource
用于GridView
控件。