Skip Navigation Links
صفحه اصلی
ارتباط با ما Expand ارتباط با ما
همه مطالب
تصاویر Expand تصاویر
فرصت های شغلی
سوالات متداول
جستجو
     
 
کنترل TreeView به همراه MS Ajax
فرض کنید می خواهید از کنترل TreeView به همراه MS Ajax استفاده کنید و آیتم ها و شاخه های TreeView زیاد بوده بطوریکه باعث می شود Container این کنترل دارای اسکرول شود.

 

در هنگام فرض کنید اسکرول را پائین آورده اید و روی یکی از آیتم های TreeView کلیک می کنید، پس از اتمام مراحل مورد نظرتان خواهید دید که اسکرول در جایی که شما قرار دادید باقی نمانده و بالا رفته است یعنی نمی تواند محل قرار گیری اسکرول را حذف نماید.

برای رفع این مشکل می باید نقطه قرار گیری اسکرول را در شروع درخواست ذخیره نموده و در پایان درخواست موقعیت اسکرول را برابر مقدار ذخیره شده قرار دهید.

پیاده سازی

برای پیاده سازی این مورد همانگونه که ذکر شد می باید در ابتدای درخواست موقعیت اسکرول را ذخیره نمائید که این کار را می توانید با رجیستر کردن تابعی در هندلر add_beginRequest کتابخانه MS Ajax انجام دهید و همچنین در پایان درخواست موقعیت اسکرول را برابر با مقدار ذخیره شده قرار دهید که این کار را نیز می توانید با رجیستر کردن تابعی در هندلر add_endRequest کتابخانه MS Ajax انجام دهید.

1- کنترل ScriptMannager را به فرم خود اضافه نمائید

2- یک کنترل UpdatePanel به صفحه اضافه نمائید و در ContentTemplate آن تگ Div ای با نام leftBar و کنترل TreeView را نیز درون تگ Div قرار دهید

  1. <div id="leftBar">
  2.     <asp:TreeView ID="tvEmployees" runat="server" ImageSet="Contacts" OnSelectedNodeChanged="tvEmployees_SelectedNodeChanged">asp:TreeView>
  3. div>

2- کدهای مربوط به پرشدن آیتم های TreeView را نیز بنویسید

3- کدهای جاوااسکریپت زیر را نیز به انتهای صفحه خود تزریق نمائید

 


  1. <script type="text/javascript">
  2.  
  3.     var scrollTop;
  4.  
  5.     Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
  6.     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
  7.  
  8.     function BeginRequestHandler(sender, args) {
  9.         var elem = document.getElementById(leftBar);
  10.         scrollTop = elem.scrollTop;
  11.     }
  12.  
  13.     function EndRequestHandler(sender, args) {
  14.         var elem = document.getElementById(leftBar);
  15.         elem.scrollTop = scrollTop;
  16.     }       
  17.     
  18. script>



 



1394/05/31 6:48:52 PM

نوشته شده توسط مجتبی شکوه

  نظرات شما  
   
نام:  
ن خانوادگی:  
تلفن:  
متن:  
   
   

    نظرات شما