c# – 如何突出分页中的当前数字 – GridView PagerTemplate?
发布时间:2020-12-15 22:51:06 所属栏目:百科 来源:网络整理
导读:这是我在GridView中的当前设计,单元格在悬停时变为橙色,这是通过使用css实现的.但我的问题是,如果它是活跃的那个,我怎么能改变单元格背景颜色? 图片:Current Design HTML代码:(仅限GridView) asp:GridView ID="GridView1" runat="server" PageSize="20" On
这是我在GridView中的当前设计,单元格在悬停时变为橙色,这是通过使用css实现的.但我的问题是,如果它是活跃的那个,我怎么能改变单元格背景颜色?
图片:Current Design HTML代码:(仅限GridView) <asp:GridView ID="GridView1" runat="server" PageSize="20" OnPageIndexChanging="GridView1_PageIndexChanging" AllowPaging="True" OnDataBound="GridView1_DataBound" Style="position: static"> <PagerSettings Position="Top" Mode="Numeric" /> <PagerStyle ForeColor="Black" HorizontalAlign="Center" Font-Underline="False" CssClass="pager" /> <PagerTemplate> <table id="tablePager"> <tr style="background-color: #F8F8F8;"> <td> <asp:LinkButton ID="First" CommandName="Page" CommandArgument="First" runat="server" Text="<< First" Style="color: black" ForeColor="Black" Font-Underline="False"></asp:LinkButton> </td> <td> <asp:LinkButton ID="Previous" CommandName="Page" CommandArgument="Prev" runat="server" Text="< Previous" Style="color: black" ForeColor="Black" Font-Underline="False"></asp:LinkButton> </td> <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater_ItemCommand" OnItemDataBound="Repeater_ItemDataBound" OnLoad="Repeater_Load"> <ItemTemplate> <td id="cell"> <asp:LinkButton ID="lnkPageNumber" CommandName="Page" runat="server" ForeColor="Black" Font-Underline="False" /> </td> </ItemTemplate> </asp:Repeater> <td> <asp:LinkButton ID="Next" CommandName="Page" CommandArgument="Next" runat="server" Text="Next >" ForeColor="Black" Font-Underline="False"></asp:LinkButton> </td> <td> <asp:LinkButton ID="Last" CommandName="Page" CommandArgument="Last" runat="server" Text="Last >>" Style="color: black" ForeColor="Black" Font-Underline="False"></asp:LinkButton> </td> </tr> </table> </PagerTemplate> </asp:GridView> 代码背后: 页面加载 protected void Page_Load(object sender,EventArgs e) { if (!IsPostBack) { PopulateGridView(); } } PopulateGridView public void PopulateGridView() { String constring = System.Configuration.ConfigurationManager.ConnectionStrings["sqlconnect"].ToString(); MySqlConnection con = new MySqlConnection(constring); using (MySqlCommand cmd = new MySqlCommand("SELECT * FROM tabletester")) { cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); MySqlDataReader reader = cmd.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(reader); con.Close(); GridView1.DataSource = dt; GridView1.DataBind(); } } Repeater_ItemCommand protected void Repeater_ItemCommand(object source,RepeaterCommandEventArgs e) { if (e.CommandName == "Page") { GridView1.PageIndex = Convert.ToInt32(e.CommandArgument); GridView1.DataBind(); PopulateGridView(); } } Repeater_ItemDataBound protected void Repeater_ItemDataBound(object sender,RepeaterItemEventArgs e) { LinkButton lnkPageNumber = new LinkButton(); System.Int32 pageNumber = (System.Int32)e.Item.DataItem; if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { lnkPageNumber = (LinkButton)e.Item.FindControl("lnkPageNumber"); lnkPageNumber.Text = pageNumber.ToString(); lnkPageNumber.CommandArgument = (pageNumber - 1).ToString(); } } Repeater_Load protected void Repeater_Load(object sender,EventArgs e) { Repeater Repeater = (Repeater)sender; Repeater.DataSource = Enumerable.Range(1,GridView1.PageCount); Repeater.DataBind(); } 解决方法
您可以在Repeater_ItemDataBound中执行类似的操作
if (e.Item.ItemIndex == GridView1.PageIndex) { lnkPageNumber.ForeColor = Color.Red; } 那就是说,你现在有一个GridView有一个内置的分页系统吗?你正在做的过于复杂的事情要容易得多.以下是它所需的所有代码: ASPX <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" OnPageIndexChanging="GridView1_PageIndexChanging"></asp:GridView> 码 protected void Page_Load(object sender,EventArgs e) { if (IsPostBack == false) { BindDataToGridView(); } } private void BindDataToGridView() { GridView1.DataSource = source; GridView1.DataBind(); } protected void GridView1_PageIndexChanging(object sender,GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; BindDataToGridView(); } 就是这个.功能寻呼系统所需的所有代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iOS:Facebook登录访问令牌错误:由于模拟器错误而退回到从
- VB总结之option explicit
- c# – 映射到现有数据库表
- 正则表达式 – 使用正则表达式限制textfield/numberfield中
- 如何控制.NET DataContract序列化,以便它使用XML属性而不是
- c# – WPF DataGrid(MultiSelector?)多次提升SelectedItem
- ruby-on-rails – 多次部署后的Heroku Slug大小
- c# – 如何在并行foreach中使用await?
- 从XML文件生成Java类
- postgresql – 空的,不可编辑的pg_hba.conf文件