চূড়ান্ত সমাধান (এসএসআরএস ২০১২ তেও কাজ করে!)
নিম্নলিখিত স্ক্রিপ্টে (এসএসআরএস সার্ভারে) নিম্নলিখিত স্ক্রিপ্টটি যুক্ত করুন
C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js
function pageLoad() {
var element = document.getElementById("ctl31_ctl10");
if (element)
{
element.style.overflow = "visible";
}
}
দ্রষ্টব্য : আজলাক উল্লেখ করেছেন যে, ডিভের নাম সর্বদা থাকে না ctl31_ctl10
। এসকিউএল 2012 চেষ্টা করুন ctl32_ctl09
এবং 2008 আর 2 চেষ্টা করুন ctl31_ctl09
। যদি এই সমাধানটি কাজ না করে, আপনার ব্রাউজার থেকে এইচটিএমএলটি দেখুন স্ক্রিপ্টটি overflow:auto
সম্পত্তিটিকে সঠিকভাবে পরিবর্তন করার জন্য কাজ করেছে কিনা তা দেখুন overflow:visible
।
রিপোর্টভিউয়ার নিয়ন্ত্রণের জন্য সমাধান
এই শৈলীর লাইনে .aspx
পৃষ্ঠাতে (অথবা কোনও লিঙ্কযুক্ত .css
ফাইলের মধ্যে, সন্নিবেশ করান )
#reportViewer_ctl09 {
overflow:visible !important;
}
কারণ
ক্রোম এবং সাফারি আইইয়ের overflow:auto
প্রতি বিভিন্নভাবে রেন্ডার করে।
এসএসআরএস এইচটিএমএল হ'ল কুইর্কসমোড এইচটিএমএল এবং এটি IE 5.5 বাগের উপর নির্ভর করে। নন-আইই ব্রাউজারগুলিতে আইই কুইর্কস্মোড নেই এবং তাই এইচটিএমএলকে সঠিকভাবে রেন্ডার করুন
এসএসআরএস ২০০৮ আর 2 রিপোর্টগুলির দ্বারা উত্পাদিত এইচটিএমএল পৃষ্ঠায় একটি স্টাইল div
রয়েছে overflow:auto
এবং এটি রিপোর্টকে একটি অদৃশ্য প্রতিবেদনে পরিণত করে।
<div id="ctl31_ctl10" style="height:100%;width:100%;overflow:auto;position:relative;">
আমি Chrome এর দেব সরঞ্জামগুলি ( ) ব্যবহার করে উত্পাদিত ওয়েবপৃষ্ঠায় ম্যানুয়ালি পরিবর্তিত overflow:auto
হয়ে ক্রোমের প্রতিবেদনগুলি দেখতে পাচ্ছি ।overflow:visible
F12
আমি টিমের সমাধান পছন্দ করি , এটি সহজ এবং কার্যকারী।
তবে এখনও একটি সমস্যা রয়েছে: যেকোন সময় ব্যবহারকারী প্যারামিটারগুলি পরিবর্তন করে (আমার রিপোর্টগুলি প্যারামিটারগুলি ব্যবহার করে!) এজেএক্স ডিভকে রিফ্রেশ করে, ওভারফ্লো: অটো ট্যাগটি আবারও লেখা হয়, এবং কোনও স্ক্রিপ্ট এটি পরিবর্তন করে না।
এই টেকনোট বিশদটি ব্যাখ্যা করে যে সমস্যাটি কী:
এটি ঘটেছিল কারণ এজ্যাক্স প্যানেলগুলি দিয়ে নির্মিত একটি পৃষ্ঠায়, কেবলমাত্র এজেএক্স প্যানেলগুলি পুরো পৃষ্ঠা সতেজ করে না করেই তাদের রাজ্য পরিবর্তন করে। ফলস্বরূপ, OnLoad
আপনি <body>
ট্যাগটিতে প্রয়োগ করা ইভেন্টগুলি কেবল একবারই বরখাস্ত করা হয়: প্রথমবার আপনার পৃষ্ঠাটি লোড হয়। এর পরে, এজেএক্স প্যানেলের কোনও পরিবর্তন করলে এই ইভেন্টগুলি আর ট্রিগার হবে না।
ব্যবহারকারী আইনার্ক এই সমাধানটির পরামর্শ দিয়েছেন :
আরেকটি বিকল্প হ'ল পেজলডে আপনার ফাংশনটির নামকরণ। এই নামের কোনও ক্রিয়াকলাপটি আংশিক আপডেটের পরেও পৃষ্ঠাতে উপস্থিত থাকলে অ্যাসপেট অজেক্স দ্বারা স্বয়ংক্রিয়ভাবে কল করা হবে। আপনি যদি এটি করেন তবে আপনি বডি ট্যাগ থেকে ওভারলোড বৈশিষ্ট্যটিও সরাতে পারেন
সুতরাং সমাধানে প্রদর্শিত উন্নত স্ক্রিপ্ট লিখেছেন।