• WebForm Repeater: 重复器


    Repeater控件,可以用来一次显示一组数据项。比如,可以用它们显示一个数据表中的所有行。      
           Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式。

     Repeater支持以下5种模板      

    ● ItemTemplate : 对每一个数据项进行格式设置 【Formats each item from the data source.】      
    ● AlternatingItemTemplate : 对交替数据项进行格式设置      
    ● SeparatorTemplate : 对分隔符进行格式设置      
    ● HeaderTemplate : 对页眉进行格式设置 ,在加载开始执行一遍    
    ● FooterTemplate : 对页脚进行格式设置,在加载最后执行一遍     
    以上,英文中使用了Formats item from datasource这样的话,就说明Repeater控件主要是用来对数据进行Format的,控制数据怎么样排列,怎么样显示。      
    Repeater必须使用的是Itemtemplate,其它的类型模板按需添加。

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <style>
            * {
                margin: 0px;
                padding: 0px;
            }
    
            #table {
                 100%;
                text-align: center;
                border: 0px;
            }
    
            .tr {
                background-color: #00ffff;
            }
    
            .td {
                background-color: #444;
            }
    
                .td:hover {
                    transition: 0.7s;
                    background-color: #00ff90;
                }
    
            .tt {
                background-color: #00ff90;
            }
    
            .tr:hover {
                transition: 0.7s;
                background-color: #444;
            }
        </style>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
    
                <asp:Repeater ID="Repeater1" runat="server">
                    <HeaderTemplate>
                        <table id="table">
                            <tr id="tt">
                                <td>编号</td>
                                <td>用户名</td>
                                <td>密码</td>
                                <td>昵称</td>
                                <td>性别</td>
                                <td>生日</td>
                                <td>民族</td>
                                <td>班级</td>
                            </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr class="tr" style="<%# Eval("Nationa")%>">
                            <td><%# Eval("ids") %></td>
                            <td><%#Eval("UserName") %></td>
                            <td><%#Eval("PassWordssr")%></td>
                            <td><%#Eval("NickName")%></td>
                            <td>
                                <img src="<%#Eval("sss") %>" /></td>
                            <td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
                            <td><%#Eval("Nationssr") %></td>
                            <td><%#Eval("Classssr") %></td>
                        </tr>
                    </ItemTemplate>
    
    
                    <AlternatingItemTemplate>
                        <tr class="td" style="<%# Eval("Nationa")%>">
                            <td><%# Eval("ids") %></td>
                            <td><%#Eval("UserName") %></td>
                            <td><%#Eval("PassWordssr")%></td>
                            <td><%#Eval("NickName")%></td>
                            <td>
                                <img src="<%#Eval("sss") %>" />
                            </td>
                            <td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
                            <td><%#Eval("Nationssr") %></td>
                            <td><%#Eval("Classssr") %></td>
                        </tr>
                    </AlternatingItemTemplate>
    
    
                    <FooterTemplate>
                        </table>
                    </FooterTemplate>
                </asp:Repeater>
    
    
    
    
    
            </div>
        </form>
    </body>
    </html>
    前台
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Repeater1.DataSource = new UsersData().select();
            Repeater1.DataBind();
        }
    }
    后台
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    /// Users 的摘要说明
    /// </summary>
    public class Users
    {
        public Users()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
    
    
        public int Ids { get; set; }
        public string UserName { get; set; }
        public string PassWord { get; set; }
        public string NickName { get; set; }
        public bool Sex { get; set; }
        public DateTime Birthday { get; set; }
        public string Nation { get; set; }
        public string Class { get; set; }
    
        public string Sexssr
        {
            get
            {
                string Sexssr = Sex ? "" : "";
                return Sexssr;
            }
        }
    
        public string Nationssr
        {
            get
            {
                string Nationssr = null;
                if (Nation == "N001")
                {
                    Nationssr = "汉族";
                }
                else if (Nation == "N002")
                {
                    Nationssr = "苗族";
                }
                else if (Nation == "N003")
                {
                    Nationssr = "满族";
                }
                else if (Nation == "N004")
                {
                    Nationssr = "藏族";
                }
                return Nationssr;
            }
        }
    
    
        public string Classssr
        {
            get
            {
                string Classssr = null;
                if (Class == "C001")
                {
                    Classssr = "基础班";
                }
                else if (Class == "C002")
                {
                    Classssr = "提高班";
                }
                else if (Class == "C003")
                {
                    Classssr = "进阶班";
                }
                else if (Class == "C004")
                {
                    Classssr = "总裁班";
                }
                return Classssr;
            }
        }
    
        public string PassWordssr
        {
            get
            {
                String PassWordssr = "****";
                if (PassWord != "1234")
                {
                    PassWordssr = "1234";
                }
                return PassWordssr;
            }
        }
    
    
        public String Nationa
        {
            get
            {
                string Nationa = null;
                if (Nation == "N004")
                {
                    Nationa = "background-color: Red;";
                }
                return Nationa;
            }
        }
    
    
        public string sss
        {
            get
            {
                string sss = null;
                if (Sex)
                {
                    sss = "20090119095429234.png";
                }
                else
                {
                    sss = "20090119095429248.png";
                }
                return sss;
            }
        }
    
    
    }
    Users
    using System;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Web;       
    
    /// <summary>
    /// UsersData 的摘要说明
    /// </summary>
    public class UsersData
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
    
        public UsersData()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
            conn = new SqlConnection("server=.;database=data0928;user=sa;pwd=123");
            cmd = conn.CreateCommand();
        }
    
        public List<Users> select()
        {
            List<Users> Ulist = new List<Users>();
            cmd.CommandText = "select * from Users";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    Users u = new Users();
                    u.Ids = Convert.ToInt32(dr[0].ToString());
                    u.UserName = dr[1].ToString();
                    u.PassWord = dr[2].ToString();
                    u.NickName = dr[3].ToString();
                    u.Sex = Convert.ToBoolean(dr[4].ToString());
                    u.Birthday = Convert.ToDateTime(dr[5].ToString());
                    u.Nation = dr[6].ToString();
                    u.Class = dr[7].ToString();
                    Ulist.Add(u);
    
                }
            }
            conn.Close();
            return Ulist;
        }
    }
    UsersDate

    光棒效果

          意思是,当鼠标放上的时候,改变其属性,比如:背景色,边框颜色,边框样式等

          方法:js代码实现,用到两个事件,分别是:onmouseover(鼠标放上)和onmouseout(鼠标离开)

    1、不论是正常显示的还是预警显示的,当鼠标放上时,背景色变为黄色;鼠标离开,回复原来的颜色。

    复制代码
    </style>
        <script >
            window.onload=function(){
                var items = document.getElementsByClassName("tr_Item");
                var oldColor = "";注释:存放原来的背景色
                for (var i = 0; i < items.length; i++) {
                    items[i].onmouseover = function () {
                        oldColor = this.style.backgroundColor;
                        this.style.backgroundColor = "yellow";
                    }
                    items[i].onmouseout = function () {
                        this.style.backgroundColor = oldColor;
                    }
                }
            }
        </script>
    </head>
    <body>
    复制代码

    2、除预警显示红色不变外,当鼠标放上时,背景色变为黄色;鼠标离开,回复原来的颜色。

    复制代码
    </style>
        <script >
            window.onload=function(){
                var items = document.getElementsByClassName("tr_Item");            
                for (var i = 0; i < items.length; i++) {
                    if (items[i].style.backgroundColor != Red) {
                        items[i].onmouseover = function () {
                            this.style.backgroundColor = "yellow";
                        }
                        items[i].onmouseout = function () {
                            this.style.backgroundColor = oldColor;
                        }
                    }
                }
            }
        </script>
    复制代码

    Repeater控件的事件处理

          Repeater控件有以下事件:      
                  ● DataBinding : Repeater控件绑定到数据源时触发      
                  ● ItemCommand : Repeater控件中的子控件触发事件时触发      
                  ● ItemCreated : 创建Repeater每个项目时触发  
                  ● ItemDataBound : Repeater控件的每个项目绑定数据时触发  

  • 相关阅读:
    基于51单片机的Uart串口通信协议
    基于STM32F103和Cube的输入捕获例程
    基于STM32F429和HAL库的CAN收发例程
    基于STM32F429的TFT0.96屏幕驱动
    基于STM32F429和Cube的ov2640程序
    基于STM32F429和Cube的主从定时器多通道输出固定个数的PWM波形
    基于STM32F429,Cubemx的SAI音频播放实验
    基于STM32F429的内存管理
    基于STM32F429,Cubemx的SDHC卡的基本Fatfs文件移植
    基于STM32F429的ADS1115驱动程序
  • 原文地址:https://www.cnblogs.com/1030351096zzz/p/6237399.html
Copyright © 2020-2023  润新知