2013-10-22 2 views
0

VB에서 telerik .NET UI 컨트롤을 사용하여 참조 프로젝트 코드가 있습니다. 그러나 페이징에는 문제가 있습니다. 이것은 내 직원 페이지, 그것은 페이지로 나뉘어져 있지만 다른 페이지 (예 : 2)를 클릭하면 테이블의 데이터는 페이지 1의 데이터 만 표시합니다. 페이지 크기 10을 설정하면 DefaultPageSize입니다 (2에 18 개의 항목이 있습니다. 페이지). 새로 고침에서vb.net에서 telerik 컨트롤을 사용하지 마십시오.

Public Overrides Sub ViewLoad(ByVal e As System.EventArgs) 
    Try 
     SetGridFilter(rgEmployee) 
     Refresh() 
     UpdateControlState() 
    Catch ex As Exception 
     DisplayException(Me.ViewName, Me.ID, ex) 
    End Try 
End Sub 

Public Overrides Sub ViewInit(ByVal e As System.EventArgs) 
    rgEmployee.AllowCustomPaging = True 
    rgEmployee.PageSize = Common.Common.DefaultPageSize 
    'rgEmployee.ClientSettings.EnablePostBackOnRowClick = True 
    InitControl() 
End Sub 

Protected Sub InitControl() 
    Try 
     Me.ctrlMessageBox.Listener = Me 
     Me.MainToolBar = tbarLocations 
     Common.Common.BuildToolbar(Me.MainToolBar, ToolbarItem.Create, 
            ToolbarItem.Edit,ToolbarItem.Save, 
            ToolbarItem.Cancel) 
     CType(MainToolBar.Items(3), RadToolBarButton).CausesValidation = True 
     CType(Me.MainToolBar.Items(3), RadToolBarButton).Enabled = False 
     CType(Me.MainToolBar.Items(4), RadToolBarButton).Enabled = False 
     Me.MainToolBar.OnClientButtonClicking = "OnClientButtonClicking" 
     'CType(Me.Page, AjaxPage).AjaxManager.ClientEvents.OnRequestStart = "onRequestStart" 
    Catch ex As Exception 
     DisplayException(Me.ViewName, Me.ID, ex) 
    End Try 
End Sub 

() 함수를 호출 rgEmployee.Rebind()와

<tlk:RadPane ID="RadPane3" runat="server" Scrolling="None"> 
     <tlk:RadGrid ID="rgEmployee" runat="server" Height="100%"> 
      <MasterTableView DataKeyNames="ID" ClientDataKeyNames="CODE, EMP_NAME, EMP_AD"> 
       <Columns> 
          <%--<tlk:GridClientSelectColumn> here --%> 
       </Columns> 
      </MasterTableView> 
     </tlk:RadGrid> 
     <Common:ctrlMessageBox ID="ctrlMessageBox" runat="server" /> 

    </tlk:RadPane> 

<script type="text/javascript"> 
    var enableAjax = true; 

    function onRequestStart(sender, eventArgs) { 
     eventArgs.set_enableAjax(enableAjax); 
     enableAjax = true; 
    } 
</script> 

내가 전에 언급 한 바와 같이 html로,이 참조 프로젝트는 그래서 난 성공 페이징 된 다른 페이지를 참조하십시오 "CType (Me.Page, AjaxPage) .AjaxManager.ClientEvents.OnRequestStart ="onRequestStart ""HTML에서 자바 스크립트 호출 (약간 바보 같은 b/ci는 실제로 telerik 제어에 대해 더 많이 알지 못합니다. 나는 내가 잘 이해할 수 없기 때문에 VB 코드를 볼 때). 이 코드를 직원 코드 뒤에 추가했습니다. 이 이벤트는 어떤 것도 masterpage에서 피하는 것을 보여주지 않습니다. 문제가 있습니까?

"(CType (Me.Page, AjaxPage) .AjaxManager.ClientEvents.OnRequestStart ="onRequestStart ""가 없음) rgEmployee.PageSize = 20을 변경하면 모든 데이터가 올바르게 표시되고 pagesize = 10으로 변경됩니다. (radgrid에 의해 지원됨), 각 페이지 당 10 개의 항목으로 정확하게 표시됨 (페이지 2의 8 개 항목을 의미 함)

답변

0

페이지가 게시 될 때마다 변경 사항을 수행하는 것으로 보이지 않으며 때때로 아주 독특한 행동을 일으킨다.

예 : 그것은 내가 VB 시도 처음이다/C b를 꽤 그래서 내가,이 문제를 해결했습니다 Implementation of IsPostBack in page load

+0

:

Public Overrides Sub ViewLoad(ByVal e As System.EventArgs) If(Not IsPostBack) Then ' You should only Try SetGridFilter(rgEmployee) Refresh() UpdateControlState() Catch ex As Exception DisplayException(Me.ViewName, Me.ID, ex) End Try End If End Sub 

당신은 이유를 설명에 유용한 다음과 같은 질문을 찾을 수 있습니다 나에게 힘든 .... 감사합니다. – user2494355

관련 문제