سلام
اگر این تغییر رو تو پروژه اصلیم بدم که مشکلی براش پیش نمیاد؟
نخیر مشکلی پیش نمیاد
من یه گریدویو دارم می خوام یکی از سلول هاش این تقویم شمسی باشه، می شه راهنمایی کنید چه جوری می شه این کار رو انجام داد؟
تو پروژه TestControl که تو پست اول قرار دادم مثالش هست. با این حال
بعد از اعمال تغییراتی که تو پست 34 دربارش گفتم، فرض کنید منبع داده ما به این صورت باشه
var persons = new List<Person>
{
new Person { BirthDate = "1364/01/01", Fullname = "AAAAA"},
new Person { BirthDate = "1352/07/24", Fullname = "BBBBB"},
new Person { BirthDate = "1354/11/23", Fullname = "CCCCC"},
new Person { BirthDate = "1380/05/11", Fullname = "DDDDD"}
};
یا به این صورت
var persons = new List<Person>
{
new Person { BirthDate = new DateTime(1985,2,10), Fullname = "AAAAA"},
new Person { BirthDate = new DateTime(1990,11,23), Fullname = "BBBBB"},
new Person { BirthDate = new DateTime(1983,7,14), Fullname = "CCCCC"},
new Person { BirthDate = new DateTime(1972,12,17), Fullname = "DDDDD"}
};
اگه از DataTable استفاده میکنید، BirthDate و Fullname میشن همون ستونهای DataTable.
کافیه به گرید 2 تا ستون اضافه کنید به صورت دستی.
اولی از نوع DataGridViewTextBoxColumn که میخوایم ستون Fullname رو بهش بایند کنیم (پس DataPropertyName این ستون رو برابر Fullname قرار میدیم)
دومی از نوع DataGridViewFarsiDatePickerColumn که میخوایم ستون BirthDate رو بهش بایند کنیم (پس DataPropertyName این ستون رو برابر BirthDate قرار میدیم)
در نهایت هم
gridPerson.AutoGenerateColumns = false;
gridPerson.DataSource = persons;
اگه قراره ستون BirthDate قابل ویرایش باشه، خصوصیت ReadOnly این ستون رو برابر False بزارید
موفق باشید