数据绑定(Databind)与 repeater 控件的使用。
repeater 控件 用来循环输出
摸板介绍:
<ItemTemplate> 正常项目显示模板 1 3 5 7 行显示 </ItemTemplate>
<AlternatingItemTemplate>交错项显示模板 2 4 6 8 行显示</AlternatingItemTemplate>
<SeparatorTemplate>每行分隔项模板</SeparatorTemplate>
<HeaderTemplate> 页眉</HeaderTemplate>
<FooterTemplate>页脚</FooterTemplate>
数据绑定中 Container的使用
<%# ((DataRowView)Container.DataItem)["num"] %> 或者
<%# DataBinder.Eval(Container.DataItem,"num","{0}") %> 效果同asp中<%%=rs("num")>
从容器中取出 num 列
<%# DataBinder.Eval(Container.DataItem,"num","{0:c}") %> {}中既是要生成的数据 c表示输入人民币符号。
如下例:
数据库对象的建立
con.Open();
SqlDataAdapter sad = new SqlDataAdapter();//建立数据适配器对象
sad.SelectCommand= new SqlCommand("select * from person",con);//实例化
DataSet ds = new DataSet();//定义数据集
sad.Fill(ds, "info");//使用数据适配器填充数据集 填充到info 表中
this.Repeater1.DataSource = ds.Tables["info"];//设置数据源
this.Repeater1.DataBind();//绑定
<asp:Repeater ID="Repeater1" runat="server" >
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"pname","姓名:{0}") %>
<%# DataBinder.Eval(Container.DataItem,"psex") %>
</ItemTemplate>
<AlternatingItemTemplate>
<font color=blue>
<%# DataBinder.Eval(Container.DataItem,"pname","姓名:{0}") %>
<%# DataBinder.Eval(Container.DataItem,"psex") %></font>
</AlternatingItemTemplate>
<HeaderTemplate>页眉
</HeaderTemplate>
<FooterTemplate>页脚
</FooterTemplate>
<SeparatorTemplate>
<hr color=blue size=1 />
</SeparatorTemplate>
</asp:Repeater>
分页的设计:
int curpage = 1 ;
PagedDataSource ps = new PagedDataSource();
ps.DataSource = ds.Tables["info"].DefaultView;
ps.AllowPaging = true;
ps.PageSize = 4;
ps.CurrentPageIndex = curpage - 1;
this.Repeater1.DataSource = ps;//设置数据源
this.Repeater1.DataBind();//绑定
每次点击时改变“curpage” 的值即可。
下一页 curpage 加一就可以了
在表格中显示的实现:
1、在页眉和页脚中分别加入<table></table>
<HeaderTemplate> <table> </HeaderTemplate>
<FooterTemplate></table> </FooterTemplate>
2、在 </ItemTemplate><tr><td><%# %></td><tr> <AlternatingItemTemplate>
这样就把表格加进来了