مدتی است که تصمیم گرفتهام پلاگینهای پر استفاده jQuery (مخصوصا پلاگینهای jQuery UI) را به صورت کنترلهای سفارشی ASP.NET درآورم تا استفاده از آنها در پروژههایم سادهتر شود. بالاخره بعد از مدتها نوشتن این کتابخانه را شروع کردم و برای شروع پلاگین انتخاب تاریخ (یا DatePicker) (که قبلا تاریخ شمسی آن را درست کردهبودم) را انتخاب کردم.
در این کتابخانه کنترلی به نام JQLoader ایجاد کردهام که وظیفه بارگذاری اسکریپتهای عمومی jQuery و همچنین تمهای مشترک را بر عهده دارد. این نسخه از این کتابخانه شامل 24 تم پیشساخته موجود در مجموعه jQuery UI است و امکان استفاده از تمهای اختصاصی نیز وجود دارد.
در نسخه اول این کتابخانه دو کنترل JQLoader (به شرحی که گفته شد) و JQDatePicker (کنترل انتخاب تاریخ میلادی و شمسی) وجود دارد که در این جا ارایه شدهاست.
بعد از اضافه کردن ارجاع به فایل dll کتابخانه، کنترلها را در صفحه رجیستر کنید. برای این کار کافیست بعد از تگ Page@ (اول صفحه) کد زیر را اضافه کنید:
<%@ Page ... %> <%@ Register Assembly="JQControls" Namespace="JQControls" TagPrefix="jq" %>
در صورتی که میخواهید این کنترلها را در تمامی صفحات استفاده کنید، میتوانید بجای اضافه کردن آن در هر صفحه، در فایل Web.Config عبارت زیر را (در قسمت system.web) اضافه کنید:
<pages> <controls> <add assembly="JQControls" namespace="JQControls" tagPrefix="jq" /> </controls> </pages>
برای استفاده از این کنترل، ابتدا در شروع صفحه (قبل از سایر کنترلهای این کتابخانه) یک نمونه از کنترل JQLoader را قرار دهید. با استفاده از ویژگی Theme در این کنترل میتوانید تم مورد نظر خود را انتخاب کنید. دقت کنید که برای تمامی کنترلهای موجود در این کتابخانه، تنها یک نمونه از کنترل JQLoader کافیست.
سپس کنترل JQDatePicker را به صفحه اضافه کنید. به طور پیشفرض این کنترل تقویم میلادی و زبان انگلیسی را استفاده میکند. در صورتی که میخواهید از تقویم شمسی استفاده کنید، کافیست ویژگی Regional آن را برابر با fa قرار دهید.
<jq:JQLoader ID="JQLoader1" Theme="DarkHive" runat="server"></jq:JQLoader> <jq:JQDatePicker ID="JQDatePicker1" Regional="fa" runat="server"></jq:JQDatePicker>
پس از آن با استفاده از ویژگی Date این کنترل، میتوانید تاریخ انتخاب شده را استفاده کنید. نکته قابل توجه اینست که این تاریخ، معادل تاریخ میلادی انتخاب شده (بدون توجه به قالب تاریخ و تقویم استفاده شده) است. در صورتی که تمایل داشتید که دقیقا عبارت نوشته شده در کنترل را دریافت کنید، میتوانید از ویژگی Text استفاده کنید.
DateTime selectedDate = JQDatePicker1.Date;
برای استفاده آسان از این کنترلها میتوانید آنها را به نوار ابزار (Toolbox) اضافه کنید تا همانند سایر کنترلهای ASP.NET آنها را تنها با کشیدن بر روی فرم استفاده کنید.
برای این کار بر روی Toolbox کلیک سمت راست کنید و گزینه Choose Items را انتخاب کنید (باز شدن صفحه بعدی ممکن است کمی طولانی شود). سپس بر روی دکمه Browse کلیک کرده و فایل dll کتابخانه را انتخاب کنید و بعد از در حالی که کنترلهای موجود در کتابخانه انتخاب شدهاند، دکمه OK را فشار دهید تا این کنترلها به Toolbox اضافه شوند.
تاریخ انتخاب شده در تقویم (به صورت میلادی)
انتخاب زبان و نوع تقویم که شامل مقادیر en برای زبان انگلیسی (و تقویم میلادی) و fa برای زبان فارسی (و تقویم میلادی) است.
انتخاب قالب نمایش تاریخ که شامل مقادیر YMD، DMY و MDY است. در این عبارات D نشان روز، M نشان ماه و Y نشان سال است. از آنجا که در حالت RTL در مرورگر IE، نمایش تاریخ بر خلاف جهت سایر مرورگرها است، میتوانید با استفاده از ویژگی IEDateFormat قالب تاریخ مخصوص این مرورگر را به صورت مجزا انتخاب کنید.
نمایش دکمههای "امروز" و "بستن"
نمایش آیکون تقویم و ظاهر شدن تقویم بعد از کلیک بر روی آن
انتخاب تصویر دلخواه برای آیکون نمایش تقویم
افکت استفاده شده هنگام ظاهر شدن تقویم که شامل مقادیر Default (پیشفرض)، Fade (محو شدن) و Slide (کشویی) میباشد.
سرعت نمایش افکت ظاهر شدن تقویم که شامل مقادیر Default، Slow، Fast و Disabled (برای غیرفعال کردن افکت) است.
قابلیت انتخاب ماه از طریق DropDownList
قابلیت انتخاب سال از طریق DropDownList
تعداد ماههای نمایش داده شده در تقویم به صورت همزمان که به طور پیشفرض مقدار آن 1 ماه است.
نمایش تقویم به صورت Inline. در این حالت TextBox انتخاب تقویم نمایش داده نخواهد شد و تقویم به صورت ثابت در صفحه باقی خواهد ماند.
محدود کردن حداقل تاریخ قابل انتخاب در تقویم
محدود کردن حداکثر تاریخ قابل انتخاب در تقویم

کتابخانه ارایه شده در اینجا حاوی 24 تم پیش ساخته است که به طور پیشفرض JQLoader یکی از آنها را در صفحات اضافه میکند. شما میتوانید برای هماهنگی بیشتر بین کنترلهای این کتابخانه با سایر قسمتهای صفحات خود و همچنین قالب دهی سریع و آسان به صفحات خود، از همین تمها در صفحات خود نیز استفاده کنید. در این صورت میتوانید از راهنمای تمهای jQuery UI برای آشنایی با نحوه استفاده از تمها استفاده کنید. در مثال ضمیمه شده از این تمها در سایر عناصر صفحه استفاده شده که برای نمونه میتوانید به این مثال نیز مراجعه کنید.
در پایان چند فایل فشرده شده ضمیمه کردهام. فایل اول نمونه ای از امکانات مختلف این کنترل به همراه نمونه استفاده از تمهای این کتابخانه است که در قالب یک پروژه نمونه آماده شدهاست. در این مثال نحوه استفاده از اسکریپتهای jQuery که به طور پیشفرض به صفحه اضافه میشوند نیز نشان داده شده است.
فایل دوم حاوی dll اصلی این کتابخانه با پشتیبانی از MS AJAX است و فایل سوم همین کتابخانه بدون پشتیبانی از MS AJAX است.
در نهایت فایل آخر سورس کتابخانه است که استفاده از آن تحت مجوز CPL مجاز است.
نسخه 1.0.4.0 این کتابخانه ضمیمه شد. در این نسخه، امکان استفاده از تقویم هجری قمری اضافه شده است. ضمنا در این نسخه، کتابخانه در دو حالت با استفاده از MS AJAX و بدون استفاده از آن آماده شده است.
مشکلات حل شده در این نسخه:
نسخه 1.1.0.0 این کتابخانه ضمیمه شد. در این نسخه، علاوه بر چند تغییر و رفع چند مشکل کوچک، از jquery ui نسخه 1.8 و jquery نسخه 1.4.2 استفاده شده است.
| ضمیمه | اندازه |
|---|---|
| پروژه نمونه (دموی کتابخانه نسخه 1.1.0.0) | 371.99 کیلو بایت |
| کتابخانه نسخه 1.1.0.0 با پشتیبانی از MS AJAX | 324.76 کیلو بایت |
| کتابخانه نسخه 1.1.0.0 بدون پشتیبانی از MS AJAX | 324.71 کیلو بایت |
| JQControls-Source.zip | 1.02 مگابایت |
نظرات
سوال
سلام
من از کامپونت شما استفاده کردم. تا دیروز به خوبی کار می کرد. دیروز یک سری کنترل Obout پیدا کردم که از کنترل منوی آن در وب سایت استفاده کردم. بعد از استفاده از این کنترل دیگر کنترل شما کار نمی کند. می شود بگویید باید چی کار کنم؟
با تشکر
سوال
سلام
خیلی ممنونم از زحمتی که کشیدید و واسه دانلود گذاشتید
سوالم اینه که احیانا اگه تکست باکسی داشته باشیم که به یه سورسی bind باشه، چطوری میشه به JQLoader هم وصلش کرد
باتشکر
علی
salek_1387@YAHOO.COM
callback
با عرض معذرت می خواستم بدونم که مشکل کامپوننت با callback برطرف شده؟
خیلی ممنون!
خطا
سلام
برنامه نمونه که خودتون گذاشتید رو اجرا کردم و به این error برخوردم. (هم در ie هم firefox)
Error: Object expected
گزینه debug روکه می زنم این خط مشخص شده:
jQuery(function($){$('#minDate').datepicker({dateFormat:'yy/mm/dd',regional:''}).change(function(){validateDatepicker(this,1);});});
تصویر خطا: http://itethics.persiangig.com/pic_err.JPG
یه برنامه هم خودم درست کردم و کتابخانه نسخه 1.1.0.0 بدون پشتیبانی از MS AJAX رو استفاده کردم و همون error رو نشون می ده.
به نظرتون مشکل از چیه؟
ممنون می شم راهنماییم کنید.
شروع سال ، قبل از 1379
خیلی ممنون از کامپوننت
فقط برای این که شروع سال از 1379 عقبتر بره ، چه کار کنم ؟
مثلآ من سال 1362 را نمیتونم انتخاب کنم
با تشکر
غیر فعال شدن Javascript هنگام استفاده از Datepicker
سلام
من یه سری فانکشن Javascript توی برنامه خودم دارم که وقتی از ابزار تاریخ شما استفاده می کنم همه رو با انجین JQuery کامپایل میکنه و باعث بروز خطا میشه.
راهی برای حل این مشکل وجود داره؟
--------------------------
صرف نظر از این حرفا خیلی ابزار کاربر پسند و خوبی رو طراحی کردید . تبریک میگم.
غیر فعال شدن Javascript هنگام استفاده از Datepicker
سلام،
در کنترل JQLoader ویژگی LoadJQScript رو غیرفعال کنید تا دیگه خودش jquery.js رو لود نکنه. شاید درست بشه. اگر نشد یه نمونه کوچک برام بذارین تا بررسی کنم.
ضمنا ممنون از نظرتون. لطف دارین
مشکل کامپوننت devexpress با DataPicker
سلام
من از grideview کامپوننت devexpress استفاده کردم و توي edit form اين grid view از datapicker استفاده کردم ولي وقتي روي datapicker کليک ميکنم popup مربوط به انتخاب تاريخ باز نميشه. اگر ممکنه راهنمايي کنيد.
در ضمن خيلي کارتون درسته! :)
مشکل کامپوننت devexpress با DataPicker
سلام،
فکر کنم اگر از نسخه مخصوص AJAX استفاده کنید مشکلتون حل بشه. اگر باز هم نشد، یک نمونه پروژه ساده ایجاد کنید و برای من بفرستید تا بتونم تست کنم.
موفق باشید.
راستی ممنون از نظر و تعارفاتتون!
مشکل کامپوننت devexpress با DatePicker
من هر دو نسخه رو تست کردم ولي جواب نداد
يه نمونه کوچک ساختم توي لينکه زيره اگه وقت داشتين لطف کنيد و نگاه کنيد.
http://www.4shared.com/file/UcfnguE9/TestGrid.html
خيلي ممنون
مشکل کامپوننت devexpress با DatePicker
من این نمونه رو بررسی کردم و مشکل رو پیدا کردم. مشکل اینه که برای لود شدن اطلاعات از callback استفاده میشه و این مورد الان در کنترل دیده نشده! یکمی زمان میبره ولی انشالله بزودی این مورد رو هم درست میکنم.
ممنون از کمکتون
مشکل کامپوننت devexpress با DatePicker
ممنون از راهنماییتون
روز هفته
از برنامه شما استفاده کردم،خیلی خوبه. برنامه شما روز هفته رو هم می تونه بده؟
روز هفته
سلام؛
در نسخه جدید این امکان وجود داره. از اون استفاده کنید
مشکل با updatepanel یا panel
سلام خسته نباشید
من از کامپوننت شما استفاده می کنم و ممنونم
ولی چرا وقتی از اون داخل updatepanel یا panel استفاده می کنم یاعث می شه که اون پنل بسته بشه و Error Creating Control نشون داده می شه
ممنون می شم اگه راهنمایی کنی
مشکل با updatepanel یا panel
سلام،
اگر بتونید یک نمونه از مشکل رو برام بفرستید انشالله بررسی میکنم. البته قبلش نسخه آخر کامپوننت رو امتحان کنید.
نمايش تاريخهاي فارسي
سلام
من به يك مشكل برخوردم شايد شما بتونيد كمك كنيد:
من يك برنامه دارم كه تاريخهاي شمسي رو نمايش ميده و توي كامپيوتر خودم و همه اونهايي كه تنظيمات كامپيوترشون انگليسي است مرتب نشون مي ده اما در كامپيوترهايي كه تنظيماتشون فارسيه (نمي دونم چه تنظيماتي دارند)تاريخها برعكس نشون داده مي شه .تاريخها رو توي كد سي شارپ به شمسي تبديل مي كنم و توي grid asp نمايش مي دهم . (با تبديل تابع convert مشكل حل نشد)
.اگر region and language رو براشون انگليسي بگذاريم تاريخها درست نمايش داده مي شن ولي محتويات فايلهاي اكسل خودشون به هم مي خوره
نمايش تاريخهاي فارسي
سلام،
این مساله در IE اتفاق میافته و راهی که من استفاده میکنم اینه که فقط برای IE تاریخ ها رو برعکس میکنم (به صورت روز-ماه-سال). این که مرورگر کاربر چی هست رو هم از Request.Browser.Browser میتونید بفهمید
چپ به راست كردن كنترل تكست باكس مشكل را حل ميكند
درود
من با استفاده از jQuery كنترل input داخل كنترل شما را چپ به راست ميكنم و در همه مرورگرها به خوبي كار ميكند.
jQuery('.hasDatepicker').attr('dir','ltr');
تغيير فرمت نمايش، فرمت ورود را نيز تغيير ميدهد كه اين باعث ميشود كاربر نتواند به درستي تاريخ را تايپ كند.
با سپاس
سام
نمايش تاريخهاي فارسي
كسي تا به حال به اين مشكل بر نخورده؟؟؟؟
Microsoft JScript runtime error: Object doesn't support this act
Microsoft JScript runtime error: Object doesn't support this action
هنگامی که calendar type را تغِِيير می دهيم خطای بالا ظاهر میشود در قسمت
var d=this._determinedate(a,'defualtedate'
Microsoft JScript runtime error: Object doesn't support this act
سلام
به من هم این ارور رو داد
البته توی دات نت 2008 ارور میده
و توی دات نت 2005 به خوبی کار میکنه
من نسخه ی بدون استفاده از ajax رو نصب کرده بودم و ارور میگرفتم
با اینحال بعد از نصب ajax 1.0 مشکل حل شد
http://www.asp.net/ajax/downloads/archive
مشکل در نمایش در MultiView
سلام،با تشکر از dll بسیار عالی و زیباتون
راستش من یه مشکلی دارم،من صفحه دارم که در اون یک Multiview با حدود 8 view وجود داره و واسه اینکه صفحه دائم لود نشه،کل MultiView رو داخل UpdatePanel گذاشتم.حالا datepicker شما(کتابخانه با پشتیبانی از MS AJAX) رو توی سومین view میذارم.اما وقتی وارد مرحله سوم میشم و میخوام تاریخ رو انتخاب کنم،درون Textbox کلیک میکنه،ولی چیزی نشون نمیده،البته این مشکل مربوط به firefox هست و در explorer درست اجرا میشه
تمام راه حلهای قبلی(AjaxExtension,dll و غیره)همه رو امتحان کردم، ولی فایده نداشت.راستی من با studio2008 کار میکنم.
لطفا راهنماییم کنید.شدیدا به این تقویم احتیاج دارم
مشکل در نمایش در MultiView
سلام، ممنون از نظرتون
اگر لطف کنید و یک نمونه از پروژه که مشکل داره رو برام بفرستید، حتما بررسی میکنم و بهتون خبر میدم.
مشکل در وارد کردن تاریخ به صورت دستی
سلام مهندس
با اونکه این مشکل قبلا توسط دوستان مطرح شد و شما نیز پاسخ آن را دادید ولی من همچنان این مشکل را دارم . من از فایل JQControls-1.0.4.0-src.zip در پروژم استفاده کردم و حتی فرمت تاریخ را (YMD) انتخاب کردم و در زمان وارد کردن دستی تاریخ نیز 01/01/1388 وارد کردم ولی با زدن کلید TAB تاریخ تایپ شده پاک می شود.لطفا راهنمایی کنید متشکرم
مشکل در وارد کردن تاریخ به صورت دستی
سلام و ممنون از نظرتون،
متاسفانه من نتونستم مشکل شما رو برای خودم دوباره ایجاد کنم! اگر امکانش باشه که برای یک پروژه نمونه آماده کنید و بفرستید، حتما بررسی میکنم و بهتون خبر میدم
سلام
ممنون از کامپوننتی که در اختیارمون قرار دادید
فقط جناب مهندس کامپوننت تقویم با مرورگر IE مشکل دارد بعد مدتی که از تقویم استفاده می شود خطای runtime می دهد ولی با Firefox مشکلی ندارد
امیدوارم این مشکل هم رفع شود
با تشکر
قربوست مهندس
مشکل در IE
سلام،
ممنون از نظرتون.
من چون خودم از IE استفاده نمیکنم و فقط بعد از تمام شدن کارم کد رو روی اون تست میکنم، ممکنه خطاهایی هم روی IE مونده باشه که من ندیدم. ولی اینجوری متوجه نمیشم چه خطایی داره. اگر بتونید دقیقا بگید چطور خطا رو برای خودم ایجاد کنم و با چه نسخه ای از IE تست کنم، حتما سعی میکنم خطا رو رفع کنم.
موفق باشید
به نظر می رسه سنگینه
سلام ممنون از به اشتراک گذاشتن تجربیاتتون کلا ui های jquery چون سمت کلاینت هستند از کامپننتهای مشابه سمت سرور اون سبک ترن به نظر من منطقی تره calender خود .net توسعه بدیم تا jquery خوشال می شم نظرتونو بدونم
سنگین یا سبک؟!
سلام،
ممنون از نظرتون
در اینکه در هنگام ارسال اولین صفحه حجم اطلاعات ارسالی کمی بیشتره حق با شماست. ولی نکته ای که فراموش کردین اینه که بیشتر این حجم فایلهای js هستند که cache میشن و در ارسالهای بعدی فرستاده نمیشن و بنابراین سایت در کل شاید سبکتر هم باشه! از طرفی post back شدن صفحه با هر کار کوچک، چیزی نیست که در سایتهای مدرن مطلوب باشه.
البته این نظر شخصی من بود.
موفق باشید.
ٍEvents
با عرض سلام و تشکر
من می خوام از 2 DatePiker استفاده کنم تا یکی تاریخ شمسی و دیگری تارخ میلادی رو نمایش بده. حالا می خوام وقتی از هر کدوم تاریخی انتخاب شد تاریخ متناظرش در DatePiker دیگه نمایش داده بشه. مثلا اگر شخصی تاریخ رو به شمسی انتخاب کرد تاریخ متناظرش به میلادی در DatePikerدیگه انتخاب بشه.من نمی دونم از کدوم روتین باید برای پیاده سازی این کار استفاده کنم.میشه راهنمایی بفرمایید.ممنون
Events
سلام،
دو راه دارید. راه بهتر اینه که با استفاده از JavaScript هر وقت یک تاریخ عوض شد، اون تاریخ دیگه رو تنظیم کنید. در این حالت میتونید از OnClientSelect استفاده کنید.
راه ساده تر اینه که سمت سرور این کار رو انجام بدین. به این صورت که AutoPostback رو برای هر دو DatePicker فعال کنید و کد لازم رو در Code Behind بنویسید.
خطا
سلام
آره تو فرم هایی که از RequiredFieldValidator استفاده کردم این مشکل رو دارم من از ورژن1.0.1.0 استفاده می کنم حالا باید ورژن 1.0.4.0 رو استفاده کنم؟
خطا
همونطور که قبلا هم گفته بودم، اگر از ویژگی OnClientSelect استفاده کنید مشکل حل میشه. مثلا در ساده ترین حالت:
خطا
سلام من خطای زیر رو زمانیکه میخام تاریخ رو انتخاب کنم دریافت میکنم
Microsoft JScript runtime error: 'length' is null or not an object
خطا
سلام،
فکر کنم مشکلی که گفتید مربوط به استفاده از Validator در IE باشه. در این صورت، این رو ببینید: http://hasheminezhad.com/jqdatepicker#comment-639
اگر هم غیر از این بود، یا دقیقتر توضیح بدین که کجا مشکل ایجاد شده تا من بتونم مشکل رو برای خودم ایجاد کنم یا اینکه یک پروژه نمونه که مشکل داره رو برام ارسال کنید.
با تشکر از آقا مهدی
با تشکر از آقا مهدی گل،
استفاده از date میلادی JQDatePicker هم خیلی خوبه
بازم ممنون
خطا
سلام. موقع اجراي مثال شما اين پيغام رو ميده. ممنون ميشم اگه كمكم كنيد.
Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Could not load file or assembly 'System.Web.Extensions Solution
ممنون آقا مهدی گل بابت راهمنایی هات،
اگر برنامه زیری هم نصب کنید درست میشه
ASP.NET 2.0 AJAX Extensions 1.0
System.Web.Extentions
فکر کنم اگر این فایل رو در فولد bin کپی کنید مشکل حل بشه:
http://hasheminezhad.com/sites/default/files/hasheminezhad.com/System.We...
تشكر
خيلي ممنون دوست عزيز. مشكلم حل شد.
اگه در مورد اين dll يكم توضيح بدي ممنون ميشم.
System.Web.Extentions
این DLL مربوط به MS AJAX میشه و چون میخواستم با وجود UpdatePanelها هم کار کنه، ازش استفاده کردم.
یه راه دیگه هم این بود که 3 تا DLL درست میکردم که یکی بدون MS AJAX کار کنه و یکی برای ASP.NET 2 و یکی دیگه برای 3.5 تا دیگه اینجوری ابهام پیش نیاد!
تشكر
ممنون از توضيحاتتون.
اگه اينكار رو انجام بدي من كه استقبال مي كنم.
موفق باشيد.
تشکر
خدا خیرت بده واقعا گل کاشتی...
Theme & ReadOnly
سلام
کنترلی که آماده کردین واقعا عالیه، فقط دو تا مورد برای من پیش اومد که گفتم به شما هم بگم تا اصلاحش کنید:
1. ظاهر کنترل به هم میریزه که با قراردادن یه همچین چیزی بالای صفحه تونستم درستش کنم:
.ui-datepicker
{
font-size: small !important;
z-index: 2000000;
}
.ui-datepicker-next
{
visibility: hidden !important;
}
.ui-datepicker-prev
{
visibility: hidden !important;
}
2. وقتی ReadOnly="true" باشه دیگه کنترل عمل نمیکنه و تاریخش عوض نمیشه یعنی ظاهرا عوض میشه ولی در پست بک همون تاریخی که اولین بار ست شده نمایش داده میشه.
اگر همین درسته من کاربردش رو متوجه نشدم
به نظرم ReadOnly در اکثر کنترل های انتخاب تاریخ به این معنیه که Textbox قابل ویرایش نباشه نه اینکه کنترل کار نکنه
بازم ممنون
علیرضا
Theme & ReadOnly
ممنون از نظرتون و وقتی که گذاشتین
1. کاشکی میگفتید دقیقا در چه حالتی به هم ریخته. البته در مورد font-size و z-index میتونم حدس بزنم ولی دلیل hidden کردن دکمه های جلو و عقب رو نفهمیدم.
2. اصلا حواسم به ReadOnly نبود! فکر کنم فعلا Enabled کار شما رو راه بندازه. انشالله در نسخه های بعدی درستش میکنم.
بازم ممنون
توضیح بیشتر...
مجددا سلام
راستش ما یک پروژه اتوماسیون کلینیک تحت وب داریم که خیلی جاهاش از DatePicker استفاده کردیم، طراحی صفحه هم با div انجام شده و اسایل های مختلفی داره، شامل Background image و background color و ....
ما اومدیم اون DatePicker قبلی رو با مال شما جایگزین کردیم، مشکلاتی که پیش اومد این بود:
1.در فایرفاکس که کلا هیچ استایلی نداشت...
2. در IE8 دکمه های قبل و بعد هر تغییری میدادیم اینقدر بزرگ بودن که میرفتن رو کنترل های دیگه (با تغییر فونت هم درست نشدن)
3. متنی هم که باید روی Tooltip نشون میدادن زیر عکسشون میومد و هیچ رقمه مخفی نمیشد.
4.در صورت فعال بودن انیمیشن هم یه کمی دیر کنترل نشون داده میشه (البته اون صفحه مورد نظر ما یه کمی سنگینه)
در نهایت اینجوری داریم استفاده می کنیم:
.ui-datepicker
{
font-size: small !important;
z-index: 2000000;
}
.ui-datepicker-next
{
visibility: hidden !important;
}
.ui-datepicker-prev
{
visibility: hidden !important;
}
به نظرم باید استایل ها جوری تعریف بشن که اگر المنت های پدرش استایل داشتن از اونها ارث بری نکنه...
عکسها رو برات آپلود کردم تا بهتر مشخص بشه:
FireFox 3.5: http://up.iranblog.ir/4/1260610097.png
Internet Explorer 8: http://up.iranblog.ir/4/1260612530.png
ممنون
توضیح بیشتر...
بازم ممنون از توضیحات بیشترتون. انشالله سر فرصت بیشتر بررسی میکنم.
MinDate و MaxDate
سلام
در یک صفحه دو عدد JQDatePicker داریم و می خواهیم شروع و پایان رویدادی را انتخاب کنیم:
در Page_Load مقادیر MinDate و MaxDate برای هر دو ست میشود. سپس Date شروع به MinDate خودش و Date پایان به MaxDate خودش.
مشکل پس از نمایش صفحه:
اولی تاریخی را نشان نمی دهد(هیچ تاریخی انتخاب نشده است)، با کلیک بر روی آن تاریخ نامربوطی دیده میشود که نه MinDate نه MAxDate و نه Date است.
دومی درست کار میکند.
این هم کد:
JQDatePickerStart.MinDate = db.MemberVisits.Min(mv => mv.Date);
JQDatePickerStart.MaxDate = db.MemberVisits.Max(mv => mv.Date);
JQDatePickerStart.Date = JQDatePickerStart.MinDate;
JQDatePickerEnd.MinDate = JQDatePickerReceptionStart.MinDate;
JQDatePickerEnd.MaxDate = JQDatePickerReceptionStart.MaxDate;
JQDatePickerEnd.Date = JQDatePickerEnd.MaxDate;
به نظرم مشکلی در MinDate و MaxDate وجود دارد!
MinDate و MaxDate
سلام، ببخشید که اینقدر پاسخ دادن طول کشید.
مشکل ذکر شده رو در نسخه جدید رفع کرده ام.