سلام.
منظورتون چه حالت گرافیکیی هست؟
کنترل های WinForms رو در Wpf میشه استفاده کرد منتها امتحان نکردم بخصوص اینکه این Popup داره. میتونید امتحان کنید.
https://msdn.microsoft.com/library/m...v=vs.100).aspx
سلام.
منظورتون چه حالت گرافیکیی هست؟
کنترل های WinForms رو در Wpf میشه استفاده کرد منتها امتحان نکردم بخصوص اینکه این Popup داره. میتونید امتحان کنید.
https://msdn.microsoft.com/library/m...v=vs.100).aspx
سلام.وقتی ادد می کنم dll رو هیچی چیزی برای من در toolbox نمیاره و این مشکل منه.
بله . ممنون.
مجبور شدم از combobox استفاده کنم./
از توجهتون ممنون
مهندس سوالی داشتم
اگر تاریخ رو به صورت شمسی در دیتا بیس ذخیره کرده باشیم
و برای ویرایش اطلاعات یه سلکت انجام بدیم و اطلاعات داخل دیتاگرید نمایش داده بشه
با کلیک بر روی سطر های دیتا گرید اطلاعات به تکس باکس منتقل مبشه
میخاستم ببینم چطور تاریخ ثبت شده هم به این کامپوننت ست بشه با کلیک بر روی سطر دیتاگرید
به عنوان مثال این عکس
sshot-1.png
مهندس من فیلد مربوط به تاریخ رو از نوع nvarchar انتخاب کردم و تاریخ به صورت شمسی ذخیره کردم به این صورت
nw.date = dateTimeSelector2.GetText("yyyy/MM/dd");
الان این کد مینویسم خطا میده برایی ست کردن تاریخ بهش
dateTimeSelector1.Value = dataGridView3.CurrentRow.Cells["date"].Value;
ممنون از کنترلتون استفاده کردم و خیلی خوب بود
فقط چطور میتونم وقتی که برنامه اجرا میشه روش تاریخ پیش فرض روز به شمسی باشه ؟
مهندس ایا امکان اینو داره تاریخ رو به این صورت نماش بده
یکشنبه 11 بهمن 1394
؟؟؟
بله، مشخصه ها رو این صورت مقدار دهی کنید:
dateTimeSelector1.Format = Atf.UI.DateTimeSelectorFormat.Custom;
dateTimeSelector1.CustomFormat = "dddd، dd MMMM yyyy";
dateTimeSelector1.RightToLeft = RightToLeft.Yes;
dateTimeSelector1.UsePersianFormat = true;
البته از طریق Designer هم میتونید این تغییرات رو ایجاد کنید.
DateTimeSelector-CustomFormat.png
آخرین ویرایش به وسیله plus : دوشنبه 12 بهمن 1394 در 23:52 عصر
مهندس خیلی ممنون
یه سوال دیگه از خدمتتون دارم
زمانی که اطلاعات رو به این صورت در دیتا بیس ذخیره میکنیم
و بعد از اون اطلاعات تاریخ رو در کمبو باکس لود کنیم
و بخواهیم با نغیر اینکس کمبو باکس تاریخ به کامپوننت ست بشه باید از چه خصوصیتی استفاده کرده
قبل از این که به این صورتی تاریخ به شکل .شنبه 11 ابان 1394
در دیتابیس ذخیره کنم
از این کد برای ست کردن تاریخ استفاده میکردم و جواب میداد
dateTimeSelector1.Text = combo_Date.Text;
الان ست نمیشه
ممنون
نوع فیلد دیتا بیس رو به date تغیر دادم
و این خطا رو دارم .مشکلش چیه
مشخصه SelectedValue از نوع object هست قبل از مقایسه با تاریخ به نوع DateTime تبدیل کنید.
DateTime? selectedValue = (DateTime?)combo_Date.SelectedValue;
البته قبل از اون مطمئن بشید که مشخصه ValueMember مربوط به ComboBox رو درست مقدار دهی کردین. برای اطلاعات بیشتر در این مورد جستجو کنید.
من یه کم توضیح میخوام
من مبتدی هستم.. همه این پست هارو خوندم ولی نمیدونم دقیقا باید چکار کنم من فایل dll رو به پروژه اضافه کردم حالا این date time selector را از کجا باید بیارم! تو کنترل ها نبود. حالا بعدش باید چکار کنم؟؟؟ من فقط میخوام کاربر تاریخ تولدشو وارد کنه و توی دیتا بیس هم فیلد date تعریفش کردم. یه روش آسون برای این کار بهم میگین؟؟؟
دوست عزیز (Plus) سلام.
وقتی از این DateTimePicker در ویندوز 10 با تاریخ تنظیم شده به فرمت شمسی استفاده میشه کد زیر برای ذخیره در دیتا بیس مقدار فارسی را برمیگرداند
MessageBox.Show(dateTimeSelector1.Value.ToString() );
البته DateTimePicker استاندارد موجود در ویژوال استدیو نیز همین رفتار را نشان می دهد که با قطعه کد ذیل در روال Form_Load قابل حل می باشد.
System.Threading.
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
لیکن ظاهر کامپوننت طراحی شده توسط شما بصورت تاریخ میلادی تغییر می کند که جای اصلاح دارد
آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 07 تیر 1395 در 22:50 عصر
با سلام،
متد ToString مشخصه Value که از نوع DateTime هست مربوط به .NET Framework هست و ربطی به این کنترل نداره. شما اگر تاریخ رو با فرمت میلادی میخواید بجای تغيير Culture ترد جاري كه همه چیز رو تغییر میده کافیه به صورت زیر InvariantCulture رو به متد ToString ارسال کنید:
DateTime? value = dateTimeSelector1.Value;
if (value.HasValue) {
MessageBox.Show(value.Value.ToString(CultureInfo.I nvariantCulture));
}
آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 07 تیر 1395 در 22:49 عصر
سلام
اول بابت کامپوینتت خوبتون تشکر میکنم
یه سوال داشتم میخوام با این کامپیونت داده های بین دو تاریخ رو بدست بیارم و توی datagridview نمایش بدم
نوع تاریخ توی دیتابیس به صورت data هست
از کد زیر استفاده میکنم ولی ارور زیر رو میده
The parameterized query '(@dateTimeSelectorBetween1 nvarchar(4000),@dateTimeSelectorBetwe' expects the parameter '@dateTimeSelectorBetween1', which was not supplied.
SqlDataAdapter da = new SqlDataAdapter(@"
Select * from Tlb_Conversation where data Between '@dateTimeSelectorBetween1' and '@dateTimeSelectorBetween2'
", sqlConnection);
da.SelectCommand.CommandType = CommandType.Text;
da.SelectCommand.Parameters.AddWithValue("@dateTim eSelectorBetween1", dateTimeSelectorBetween1.Value);
da.SelectCommand.Parameters.AddWithValue("@dateTim eSelectorBetween2", dateTimeSelectorBetween2.Value);
DataSet ds = new DataSet();
da.Fill(ds);
DegConversation.DataSource = ds.Tables[0].DefaultView;
با سلام. شما هر مقدار تاریخ دیگه ای که جای مقادیر گرفته شده از کنترل بگذارین (برای مثال، DateTime.Now) هم همین خطا رو دریافت میکنید، موضوع ربطی به کنترل نداره. دقیقا برای من مشخص نیست مشکل چیه، شاید نیاز به single quote (') اطراف پارامتر نیست و یا نوع داده ستون data تاریخ نیست. اگه خطا رو در یک تاپیک مجزا مطرح کنید دوستان میتونن بهتر کمک کنن.
مهندس جان من میخام تاریخ این کامپوننتت رو دستی به این تاریخ تغیر بدمdateTimeSelector4.Text = "1395/00/00";
ولی قبول نمیکنه یعنی هیچ اتفاقی نمیافته.باید چیکار کرد بشه این تاریخ رو بهش ست کرد
یه سوال دیگم دارم در برنامم در فرم اصلیم این کامپونتت رو دارم..بخوام در فرم های دیگه به سال این کامپونتت دسترسی داشته باشم باید چیکار کرد
ممنون
سلام،
تاریخی که مد نظرتون هست غیر معتبر هست و امکان انتساب چنین تاریخی وجود نداره. در مورد دسترسی به یک کنترل از فرمهای دیگه هم، در این مورد زیاد سوال شده. اینجا رو هم میتونید بررسی کنید.
این کامپوننت بهترین کامپوننت موجودی که باهاش کار کردم
سلام
یه مشکلی تو ویندوز 10 برام به وجود اومده!
تو ویندوز 10 وقتی تنظیمات روی تاریخ شمسی باشه تاریخ تو این کامپوننت برعکس نشون داده میشه و تمامی اطلاعاتی که ثبت شده هم تو بانک با این فرمت ثبت شده که دردسر بزرگی ایجاد کرده و هنگام جستجو این تاریخ ها را اصلا در نظر نمیگیره
تو شکل زیر اون تاریخی که با رنگ زرد نشون دادم دقیقا چیزی هست که تو ویندوز 10 با تنظیمات تقویم شمسی اتفاق میفته...به نظرتون باید چی کار کنم تا تاریخ تو این کامپوننت درست نشون داده بشه؟ و اطلاعاتی که تو بانک ذخیره شده را چطور اصلاح کنم؟
date1.JPG
سلام اگر میشد این ارتفاع این کنترل رو هم تغییر داد خیلی خوب میشد!
مهندس ورژن تحت وب ASP نمیدید؟؟؟
با سلام
لطفا اگه میشه نسخه نهایی رو یک بار دیگه آپلود کنید.
در ضمن ممنون میشم یه مثال از مقایسه تاریخ ها بزنید.مثلا یه جدول داریم که توش یه ستون از نوع تاریخ هستش.میخایم از فلان تاریخ تا فلان تاریخ رو براون بیاره
سلام و عرض تشکر بله اضافه میشه ارتفاع ولی در واحدهای کوانتومی و نه هر واحدی که ما نیاز داشته باشیم وقتی شما دریک فرم استاتدارد ارتفاع جعبه هاتو یک عدد استاندارد میگیری و نمیتونی این کنترل رو با اونا هم ارتفاع کنی فرمت فرمت بهم میریزه
سلام،
اگر قرار باشه ارتفاع کنترل بدون اضافه شدن اندازه فونتش زیاد باشه ظاهر خوشایندنی نداره و فقط بیهوده فضای اضافی اشغال میکنه. البته با اینکه با سایر کنترل های روی فرم باید هماهنگ باشه موافقم. اگه امکان داره یک تصویر از فرمتون بگذارین. برای من جالبه چطور جعبه متن های مورد نظر شما ارتفاع بیشتری دارن ولی با فونت کوچک.
اینم خدمت شماUntitled.png
خب اینو واسه نمونه گذاشتم شما استاد مایید بهتر میدونید بعضی از فونتای فارسی اندازه هاشون استاندارد نیست و ممکن به خوبی داخل جعبه متن نمایش داده نشه و ما مجبور به استفاده از عرض های سفارشی میشیم
با تشکر