如何使用asp.net webforms在Repeater中显示数据
本文关键字:Repeater 显示 数据 webforms 何使用 asp net | 更新日期: 2023-09-27 18:07:43
我必须从数据库中显示数据,就像在asp.net webforms中的图片一样。我试着通过中继器(第二张图):
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnection %>" SelectCommand="DataSelect" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
<asp:Repeater ID="rptStudents" runat="server" DataSourceID="SqlDataSource" OnItemDataBound="rptStudents_ItemDataBound">
<HeaderTemplate>
<asp:Table runat="server">
<asp:TableRow>
<asp:TableCell>Course</asp:TableCell>
<asp:TableCell>Grade</asp:TableCell>
</asp:TableRow>
</asp:Table>
</HeaderTemplate>
<ItemTemplate>
<asp:Table ID="tbStudents" runat="server">
<asp:TableRow>
<asp:TableCell ID="tcStudent" runat="server" ColumnSpan="2" Visible="true">
<%#DataBinder.Eval(Container.DataItem, "StudentName") %>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell>
<%#DataBinder.Eval(Container.DataItem, "CourseName") %>
</asp:TableCell>
<asp:TableCell>
<%#DataBinder.Eval(Container.DataItem, "Grade") %>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</ItemTemplate>
</asp:Repeater>
什么可以添加到rptStudents_ItemDataBound或有另一个函数可以使用?默认情况下tcStudent是可见的,但是如果tcStudent。则不显示所有学生的姓名。但是如何使学生的名字只显示一次呢?
protected void rptStudents_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
TableCell tcStudent = (TableCell)e.Item.FindControl("tcStudent");
tcStudent.Visible = false;
}
我刚刚开始学习asp.net webforms,请帮助。谢谢。
中继器是一个选择,但如果你只是想要一个网格,考虑使用GridView。然后,您可以更改标记中的格式,使其成为标题样式和交替行样式。远没那么复杂。
注意:优秀的开发人员是懒惰的!(我的意思是高效,当然?)