2012-08-06 3 views
0

Q 내 DataGrid 검색 결과를 스크롤 할 수있게하는 jQuery 함수가 있습니다.
그러나 패널을 업데이트하면 스크롤 막대가 사라지고 결과가 모든 페이지 전체를 채 웁니다. 그 기능을 다시하지 않기 때문입니까? 여기에 현재 코드가 있습니다.업데이트 할 수있는 함수가 업데이트 패널 이후에 실행되지 않습니다.

jQuery를

<script type="text/javascript"> 

     $(document).ready(function scroll() { 
      $('#<%=gvMapping.ClientID%>').Scrollable({ ScrollHeight: 370 }); 
     } 
     ) 
</script> 
<script type="text/javascript"> 
    function getGL(){ 
    var button = document.getElementById("<%= btnGetGLDept.ClientID %>"); 
    button.click(); 
} 
</script> 

HTML

<%--Mapping Search Bar --%> 
    <div class="searchrev1"> 
    <asp:TextBox ID="mpSearch" class="txtbox" runat="server" text="Please start entering Department Name or Number to search" 
     onfocus="if(this.value==this.defaultValue) {this.value='';$(this).css('color','#3B3B3B');}" 
     onblur="if(this.value=='') {this.value=this.defaultValue;$(this).css('color','rgb(173,180,195)');}" Width="400px"/> 
    <asp:Button ID="mapsearch" text="Search" runat="server" 
     onclick="getGLDepts" /> 
    <asp:CheckBoxList ID="mpcbl" class="cbl" runat="server" DataSourceID="Rollup" 
      DataTextField="COA_SYSTEM" DataValueField="COA_SYSTEM" ondatabound="chkFormat" OnClick="javascript:scroll;getGL();"></asp:CheckBoxList> 
     <asp:SqlDataSource ID="Rollup" runat="server" 
      ConnectionString="<%$ ConnectionStrings:Rollup2ConnectionString %>" 
      SelectCommand="SELECT DISTINCT [COA_SYSTEM] FROM [T_ROLLUP_GL_EXCEPT]"> 
     </asp:SqlDataSource> 
    </div> 
    <%--Mapping Graph --%> 
    <div class="botcontent"> 
    <asp:Label ID="lblGLDeptData" runat="server"></asp:Label> 
    </div> 
    <asp:UpdatePanel runat="server"> 
     <ContentTemplate> 
      <div class="topcontent"> 
       <asp:GridView ID="gvMapping" runat="server" GridLines="none" AutoGenerateColumns="false"> 
       <HeaderStyle CssClass="GVFixedHeader" /> 
       <Columns>...</Columns> 
       </asp:GridView> 
       <asp:Button ID="btnGetGLDept" runat="server" OnClick="getGLDepts" CssClass="invisible" /> 
      </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

나는 클릭 할 때 Checkboxlist 함수 getGL()를 호출합니다. 그런 다음 버튼을 호출하여 C# 코드를 호출하는 jquery 함수를 호출합니다. 이것은 스크롤 가능한 나던이 발생할 때입니다. 이

Sys.Application.add_load(initSomething); 
function initSomething() 
{ 
    $('#<%=gvMapping.ClientID%>').Scrollable({ ScrollHeight: 370 }); 
    // will execute on load plus on every UpdatePanel postback 
} 

답변

1

필요 그리드가 updatePanel에 포함되어 있기 때문입니다. UpdatePanels은

내가 두 번째 시도

function pageLoad() { 
    $('#<%=gvMapping.ClientID%>').Scrollable({ ScrollHeight: 370 }); 
} 
+0

$(document).ready(function scroll() { $('#<%=gvMapping.ClientID%>').Scrollable({ ScrollHeight: 370 }); }); 

에 대한 코드를 교체보십시오 pageLoad 이벤트를 트리거 할 부분 포스트 백을 발생합니다. 디버그에서 오류가 발생했습니다. – user1512593

+0

무엇이 잘못 되었습니까? 또는 첫 번째 시도하십시오 – Rab

+0

모두 시도했습니다. 오류는 표시되지 않습니다. 상태 표시 줄에서만 완료라고 표시되지만 페이지에 오류가 있습니다. – user1512593

0

jQuery를 document.Ready에 대한 귀하의 함수를 한 번만 호출됩니다로 document.ready을 업데이트 패널이

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_endRequest(EndRequest); 

    function EndRequest(sender, args) { 
     $('#<%=gvMapping.ClientID%>').Scrollable({ ScrollHeight: 370 }); 
    } 

를 호출 할 때이 자바 스크립트를 추가하거나 교체 할

관련 문제