2013-10-08 2 views
0

내 GridView에 대한 사용자 정의 페이지 매김을 작성 중입니다. 지금까지이 작업을 제외한 모든 작업을 수행했습니다. 선택한 페이지를 다른 색상이나 다른 글꼴 스타일 또는 원하는대로 강조 표시하고 싶습니다. 예를 들어 페이지가 1 2 3 4 5 6이고 GridView에서 데이터를 다시로드 할 때 4를 선택하면 빨간색으로 표시됩니다. 1 2 3 5 12. 이것은 내 aspx 파일Repeater에서 LinkButton의 색상 변경

입니다. u는 나에게 내가 넣을 수있는 방법에 대한 정보를 줄 수있는 경우
<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> 

내 LinkButtonClick 방법 | | "" ""지금 내의 LinkButton 번호 + 때문에 멀리, 그래서 숫자 만이 LinkButtons처럼

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

Basicly 같은 페이지를 작성

메신저는 내가 기압보고하고 현재 페이지 인 표시하고자합니다.

미리 감사드립니다. 다음과 같이 클릭 처리기에서 LinkButtonForeColor 속성을 설정

+0

당신이 DatabindRepeater()을 통해 중계를 리 바인드마다 btnclick 이벤트에 코드 숨김에서 변경, 당신은 CSS를 덮어 너를 바꿔라. linkButton의 click 이벤트에서 repeater를 리 바인드하지 않는 것을 고려해야합니다. DatabindRepeater 메서드에 대한 코드를 게시하면 누군가가 여러분을 도울 수 있습니다. – afzalulh

답변

0

내가 자바 스크립트를 사용하여, 다른 방법으로 그것을 해결 : 내가 그렇게 숨겨진 레이블의 값을 취할 수있는이 기능을 추가 선택한 색인 및 선택한 색인이이 레이블의 스타일을 사용합니다.

 $().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" /> 

와 단순히

lblPageNum.Text = (pageIndex += 1).ToString(); 
0

:

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