2013-10-08 59 views
0

我爲我的GridView創建一個自定義分頁,到目前爲止,除了這件事以外,我已經做了所有事情:我想突出顯示不同顏色或不同字體樣式或任何我想要的選定頁面。例如,如果我有頁面1 2 3 4 5 6,並且我選擇4,那麼當它從GridView重新加載數據時,我希望4以紅色着色1 2 3 5 6. 這是我的aspx文件在Repeater中改變LinkBut​​ton的顏色

<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​​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); 

    } 

和IM填充頁面這樣

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

Basicly我想表明這是我觀察ATM當前頁面。

在此先感謝。

+0

每次通過DatabindRepeater()重新綁定中繼器時,您覆蓋的CSS改變你所做的。您應該考慮不要在linkBut​​ton的點擊事件中重新綁定中繼器。發佈DatabindRepeater方法的代碼,有人應該能夠幫助你。 – afzalulh

回答

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(); 
0

單擊處理程序設置LinkButtonForeColor財產,像這樣:

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; 
} 
+0

是啊......我已經這樣做了,並沒有幫助:/如果您需要任何可能導致此問題的更多信息/代碼,請告訴我。 – BBekyarov

相關問題