0

我正在为我的 GridView 创建一个自定义分页,到目前为止,我已经完成了除此之外的所有操作:我想以不同的颜色或不同的字体样式或任何我想要的方式突出显示选定的页面。例如,如果我有页面 1 2 3 4 5 6 并且我确实选择了 4,当它从 GridView 重新加载数据时,我希望 4 以红色 1 2 3 4 5 6 着色。这是我的 aspx 文件

<asp:Repeater ID="repeaterPaging" runat="server" >
<ItemTemplate>
   <asp:LinkButton ID="pagingLinkButton" runat="server"
        Text='<%#Eval("Text") +" | " %>' 
        CommandArgument='<%# Eval("Value") %>'
        Enabled='<%# Eval("Enabled")%>' 
        OnClick="linkButton_Click" ForeColor="White" Font-Bold="True" Font-Underline="false">
    </asp:LinkButton>
</ItemTemplate>

如果你能给我任何关于如何把“|”放开的信息,那么只有数字像 LinkBut​​tons,因为现在我的 LinkBut​​ton 是 NUMBER+“|”

我的 LinkBut​​tonClick 方法

        protected void linkButton_Click(object sender, EventArgs e)
    {
        //int totalRows = 0;
        LinkButton lb = (LinkButton)sender;
        lb.Attributes.Add("class", "BlackLnkBtn");
        int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
        pageIndex -= 1;
        gridViewSearchReport.PageIndex = pageIndex;
        //gridViewSearchReport.DataSource = EmployeeDataAccessLayer.
        //    GetEmployees(pageIndex, GridView1.PageSize, out totalRows);
       // FetchData(pageIndex);

        gridViewSearchReport.DataSource = FetchData(pageIndex+1);
        gridViewSearchReport.DataBind();
        DatabindRepeater(pageIndex, gridViewSearchReport.PageSize, RowNumber());
        CheckButtonsAvailability(pageIndex + 1);

    }

我像这样填写页面

pages.Add(new ListItem(i.ToString(),i.ToString(), i != (pageIndex + 1)));

基本上我想指出哪个是我正在查看 atm 的当前页面。

提前致谢。

4

2 回答 2

0

我使用 javascript 以不同的方式解决了它:我添加了这个函数,因此隐藏标签可以采用所选索引的值,然后所选索引采用此标签的样式。

        $().ready(function () {
        $('#ctl00_ContentPlaceHolder1_lbPageView(THIS IS DIV ID OF THE ROW WHERE PAGINATION IS GENERATING>a').each(function () {
            if ($(this).text() == $('.lblPageNum').text())  
            {
                $(this).css('color', '#FDBE0E');
            }
        });
    });

标签:

 <asp:Label ID="lblPageNum" style="display:none;" Class="lblPageNum" runat="server" />

然后只需在 btnclick 事件的代码隐藏中更改它

lblPageNum.Text = (pageIndex += 1).ToString();
于 2013-10-09T14:17:56.273 回答
0

在点击处理程序中设置 的ForeColor属性,如下所示:LinkButton

protected void linkButton_Click(object sender, EventArgs e)
{
    //int totalRows = 0;
    LinkButton lb = (LinkButton)sender;
    lb.Attributes.Add("class", "BlackLnkBtn");
    int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
    pageIndex -= 1;
    gridViewSearchReport.PageIndex = pageIndex;
    //gridViewSearchReport.DataSource = EmployeeDataAccessLayer.
    //    GetEmployees(pageIndex, GridView1.PageSize, out totalRows);
   // FetchData(pageIndex);

    gridViewSearchReport.DataSource = FetchData(pageIndex+1);
    gridViewSearchReport.DataBind();
    DatabindRepeater(pageIndex, gridViewSearchReport.PageSize, RowNumber());
    CheckButtonsAvailability(pageIndex + 1);

    // Make the clicked link button red
    lb.ForeColor = System.Drawing.Color.Red;
}
于 2013-10-08T21:08:46.327 回答