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​​ton のようになるのは数字だけです。

私の 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 に答える