انتخاب تاریخ (شمسی و میلادی) در ASP.NET

تصویر مهدی

مقدمه:

مدتی است که تصمیم گرفته‌ام پلاگین‌های پر استفاده 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:

برای استفاده آسان از این کنترل‌ها می‌توانید آن‌ها را به نوار ابزار (Toolbox) اضافه کنید تا همانند سایر کنترل‌های ASP.NET آن‌ها را تنها با کشیدن بر روی فرم استفاده کنید.
برای این کار بر روی Toolbox کلیک سمت راست کنید و گزینه Choose Items را انتخاب کنید (باز شدن صفحه بعدی ممکن است کمی طولانی شود). سپس بر روی دکمه Browse کلیک کرده و فایل dll کتابخانه را انتخاب کنید و بعد از در حالی که کنترل‌های موجود در کتابخانه انتخاب شده‌اند، دکمه OK را فشار دهید تا این کنترل‌ها به Toolbox اضافه شوند.

ویژگی‌های پرکاربرد JQDatePicker:

Date

تاریخ انتخاب شده در تقویم (به صورت میلادی)

Regional

انتخاب زبان و نوع تقویم که شامل مقادیر en برای زبان انگلیسی (و تقویم میلادی) و fa برای زبان فارسی (و تقویم میلادی) است.

DateFormat

انتخاب قالب نمایش تاریخ که شامل مقادیر YMD، DMY و MDY است. در این عبارات D نشان روز، M نشان ماه و Y نشان سال است. از آنجا که در حالت RTL در مرورگر IE، نمایش تاریخ بر خلاف جهت سایر مرورگرها است، می‌توانید با استفاده از ویژگی IEDateFormat قالب تاریخ مخصوص این مرورگر را به صورت مجزا انتخاب کنید.

ShowButtonPanel

نمایش دکمه‌های "امروز" و "بستن"

ShowSelectButton

نمایش آیکون تقویم و ظاهر شدن تقویم بعد از کلیک بر روی آن

ButtonImage

انتخاب تصویر دلخواه برای آیکون نمایش تقویم

AnimationType

افکت استفاده شده هنگام ظاهر شدن تقویم که شامل مقادیر Default (پیش‌فرض)، Fade (محو شدن) و Slide (کشویی) می‌باشد.

AnimationSpeed

سرعت نمایش افکت ظاهر شدن تقویم که شامل مقادیر Default، Slow، Fast و Disabled (برای غیرفعال کردن افکت) است.

ChangeMonth

قابلیت انتخاب ماه از طریق DropDownList

ChangeYear

قابلیت انتخاب سال از طریق DropDownList

NumberOfMonths

تعداد ماه‌های نمایش داده شده در تقویم به صورت همزمان که به طور پیش‌فرض مقدار آن 1 ماه است.

ShowInline

نمایش تقویم به صورت Inline. در این حالت TextBox انتخاب تقویم نمایش داده نخواهد شد و تقویم به صورت ثابت در صفحه باقی خواهد ماند.

MinDate

محدود کردن حداقل تاریخ قابل انتخاب در تقویم

MaxDate

محدود کردن حداکثر تاریخ قابل انتخاب در تقویم
نمونه ای از اجرای پروژه نمونه

استفاده از تم‌های jQuery UI:

کتابخانه ارایه شده در اینجا حاوی 24 تم پیش ساخته است که به طور پیش‌فرض JQLoader یکی از آنها را در صفحات اضافه می‌کند. شما می‌توانید برای هماهنگی بیشتر بین کنترل‌های این کتابخانه با سایر قسمت‌های صفحات خود و همچنین قالب دهی سریع و آسان به صفحات خود، از همین تم‌ها در صفحات خود نیز استفاده کنید. در این صورت می‌توانید از راهنمای تم‌های jQuery UI برای آشنایی با نحوه استفاده از تم‌ها استفاده کنید. در مثال ضمیمه شده از این تم‌ها در سایر عناصر صفحه استفاده شده که برای نمونه می‌توانید به این مثال نیز مراجعه کنید.

ضمایم:

در پایان چند فایل فشرده شده ضمیمه کرده‌ام. فایل اول نمونه ای از امکانات مختلف این کنترل به همراه نمونه استفاده از تم‌های این کتابخانه است که در قالب یک پروژه نمونه آماده شده‌است. در این مثال نحوه استفاده از اسکریپت‌های jQuery که به طور پیش‌فرض به صفحه اضافه می‌شوند نیز نشان داده شده است.
فایل دوم حاوی dll اصلی این کتابخانه با پشتیبانی از MS AJAX است و فایل سوم همین کتابخانه بدون پشتیبانی از MS AJAX است.
در نهایت فایل آخر سورس کتابخانه است که استفاده از آن تحت مجوز CPL مجاز است.

بروزرسانی:

نسخه 1.0.4.0 این کتابخانه ضمیمه شد. در این نسخه، امکان استفاده از تقویم هجری قمری اضافه شده است. ضمنا در این نسخه، کتابخانه در دو حالت با استفاده از MS AJAX و بدون استفاده از آن آماده شده است.
مشکلات حل شده در این نسخه:

بروزرسانی 2:

نسخه 1.1.0.0 این کتابخانه ضمیمه شد. در این نسخه، علاوه بر چند تغییر و رفع چند مشکل کوچک، از jquery ui نسخه 1.8 و jquery نسخه 1.4.2 استفاده شده است.

ضمیمهاندازه
پروژه نمونه (دموی کتابخانه نسخه 1.1.0.0)371.99 کیلو بایت
کتابخانه نسخه 1.1.0.0 با پشتیبانی از MS AJAX324.76 کیلو بایت
کتابخانه نسخه 1.1.0.0 بدون پشتیبانی از MS AJAX324.71 کیلو بایت
JQControls-Source.zip1.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 استفاده کنید مشکل حل میشه. مثلا در ساده ترین حالت:

<jq:JQDatePicker ID="JQDatePicker1" OnClientSelect=";" runat="server"></jq:JQDatePicker>

خطا

سلام من خطای زیر رو زمانیکه میخام تاریخ رو انتخاب کنم دریافت میکنم
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

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