همچنان منتظر سلکت کردن یه سلول هستم ...
Printable View
همچنان منتظر سلکت کردن یه سلول هستم ...
دنبال این دستور می گشتم
View_Calander.ClearSelection();
View_Calander.Rows[شماره سطر].Cells[شماره ستون].Selected = true;
منبع:
http://stackoverflow.com/questions/4...-specific-cell
دوست عزیز سلام
من طبق آموزش شما پیش رفتم ولی یک مشکلی که دارم اینکه بعد از لود فرم تاریخ فعلی که (مثلا 1393/09/03) رو نوار ابزار هست درسته ولی تاریخ که در دیتا گرید هست اولین روز ماه ( 1393/09/01 ) می باشد . لطفا راهنمایی کنید ممنون می شم .
دوست عزیز رویداد Load فرمت و متد FindCurrentDate باید به شکل زیر باشه چک کن ببین درسته یا نه؟
private void frmCalander_Load(object sender, EventArgs e)
{
//Create Rows
for (int i = 0; i < 4; i++)
{
dgCalander.Rows.Add();
}
this.Text += " " + MiladiToShamsi(DateTime.Now);
FillCalander();
FindCurrentDate();
getDates();
}
private void getDates()
{
lblShamsi.Text = MiladiToShamsi(DateTime.Now);
lblMiladi.Text = DateTime.Now.ToShortDateString();
}
private void FindCurrentDate()
{
int tYear, tMonth, tDay = 0;
tYear = pc.GetYear(DateTime.Now);
tMonth = pc.GetMonth(DateTime.Now);
tDay = pc.GetDayOfMonth(DateTime.Now);
mounthName = tMonth;
YearName = tYear;
lblYear.Text = tYear.ToString();
lblMounth.Text = getMounth(tMonth);
ResetCalender();
FillCalander();
for (int i = 0; i <= 4; i++)
{
for (int x = 0; x < 7; x++)
{
if (dgCalander.Rows[i].Cells["c" + x.ToString()].Value.ToString() == tDay.ToString())
{
dgCalander.ClearSelection();
dgCalander.Rows[i].Cells["c" + x.ToString()].Selected = true;
}
}
}
}
آقا ممنون کارم راه افتاد
فقط یک سئوال شما در dll خودتون getshamsiCalander استفاده کردید . این متد رو هم اگه بگید ممنون می شم
getshamsiCalander یه متد هستش که تاریخ انتخاب شده رو برمیگردونه دو تا مقدار برمیگردونه تاریخ شمسی و تاریخ میلادی میتونید یه نمونه ازShamsiCalander رو بسازید تا به این متد دسترسی پیدا کنید به صورت زیر
BPersianCalender.shamsiCalander shamsi = new BPersianCalender.PCalander().getshamsiCalander();
TextBox1.Text = shamsi.ShamsiDate;
با سلام
من برای یک پروژه بومیسازی دقیقا دنبال همین تاریخ شمسی هستم.
میخواستم ببینم امکان داره به نحوی تقویم شمسی رو جایگزین Calendar ویندوز در یک پروژه #C کرد؟
ممنون میشم اگر راهنمایی کنید.
سلام
من طبق اموزش شما با سلیقه شخصی دارم یک dll مثل کاری که شما کردید رو می سازم اون هم به صورت آماتور .
حالا تمام مراحل رو که فرمودید پیش رفتم و کامپونتم تقریبا تموم شده است .
ضمیمه 126045
حالا من 2 تا مشکل دارم یکی اینکه هنوز نفهمیدم اون متد getshamsiCalander رو کجا استفاده کردید و یکی دیگه اینکه با بستن فرم یا دبل کلیک روی دیتاگرید چگونه اطلاعات انتقال پیدا می کنه ؟
ممنون اگه به صورت آماتوری برام توضیح بدید ؟
سلام
ما همچنان منتظر ادامه آموزش شما هستیم
سلام با تشکر از وقتی که میزارین
ولی کاش زودتر در مورد جستجو در بازه زمانی توضیح میدادین:افسرده:
سلام ، آقا ما همچنان منتظر ادامه آموزش هستیم
سلام دوست عزیز
این کامپوننتی که من گذاشتم یه Properties به نام SelectedDate داره که تاریخ انتخاب شده بدون ممیز رو توش نگه میداره به صورت زیر
1393/09/17 >>13930917
ما نمیتونیم تاریخ رو به صورت رشته ای بیایم جستجو کنیم یا باید بصورت DateTime باشه یا Int تا بتونیم بصورت بازه جستجو کنیم.
شما از طریق ای SelectedDate میتونی تاریخ رو بصورت عدد تو یه بازه جستجو کنی.
من تو پروژه هام از این کامپننتی که نوشتم خیلی راحت استفاده میکنم تاریخ رو بصورت رشته ای تو دیتابیسم ذخیره میکنم مثلا "1393/09/17" و جستجوم رو براحتی روی این رشته بصورت زیر میام انجام میدم. برای این منظور:
public static SMIODataClassDataContext db = new SMIODataClassDataContext();
SMIODataClassDataContext اسم کانتکست LINQ هستش که توی Program تعریف کردم و دسترسیش توی همه فرمها بصورت Global شده.
var Query = from p in Program.db.tblSMIOPersons
select new
{
p.fIdentity,
p.fName,
p.fFamily,
fEmpDate = p.fEmpDateS,// یه متغیری هستش که تاریخ انتخاب شده رو بصورت همون استاندارد رشته ای نگهداری میکنه1393/09/17 fEmpDate
fEmpDateS = Convert.ToInt64(p.fEmpDateS.Replace("/", "")),//تو این خط ممیزها حذف میشن و تاریخ تبدیل میشه به یه عدد
};
Query = Query.Where(c => c.fEmpDateS >= Convert.ToInt64(dateF.SelectedDate) && c.fEmpDateS <= Convert.ToInt64(dateE.SelectedDate));
کوری ساخته میشه و بازه تاریخ برای جستجو اعمال میشه.dateF و dateE دوتا کامپوننت تاریخ روی فرمم هستش
موفق باشید.
سورس کامل کامپوننت تقویم شمسی BPersianCalender و DLL
https://barnamenevis.org/showthread.p...der-%D9%88-DLL
حاجی واسه من اجرا نمیشه ...
هیچی نیست ... ولی فایل exe برنامه اجرا میشه !
نباید مشکلی داشته باشید چون دوستان زیادی استفاده کردند و به مشکلی بر نخوردند.با دقت انجام بدید:متفکر:
آقا بهنام مرسی خیلی عالی بود. من واقعا مشکل داشتم با این تقویما، چندتا کامپونتت پیدا کردم ولی نمیدونم چرا ادد نمیشد به پروژم. بازم مرسی.
حالت کمبوباکسشم بذاری دیگ خیلی عالی میشه :لبخند: دمت گرم.
با تشکر.
سلام ممنون خیلی عالیه
سلام
وقت بخیر
ممنونم از کامپوننت خوبتون
من این کامپوننت رو روی صفحه گذاشتم اما موقع اجرا خطا میده. ممنون میشم راهنمایی کنید
تشکر
ضمیمه 138709
من از کامپوننت استفاده کردم خیلی خوبه ولی یه پیغام warning به شکل زیر دارم:
ضمیمه 138727
میشه این کامپوننت رو بصورت poup طراحی کرد که در مختصات موس باز بشه و یکم لایت تر باشه