PDA

View Full Version : تغییر مقدار یک ستون DataGridView



oldboy
سه شنبه 27 مرداد 1388, 17:03 عصر
سلام دوستان.
من تو پایگاه دادم تاریخ میلادی نگه داشتم.
حالا بازیابی می کنم و تو DataGridView قرار میدم.
بعد از اینکه تو DataGridView قرار دادم میخوام همه ی تاریخ های میلادی رو داخل DataGridView به شمسی تبدیل کنم برای همین کد زیر رو نوشتم.

System.Globalization.PersianCalendar Cal = new System.Globalization.PersianCalendar();
string time="";
object Time;
for (int i = 0; i < dgvMember.RowCount; i++)
{
time = "";
time += (Cal.GetYear((DateTime)(dgvMember.Rows[i].Cells[5].Value))).ToString() + "-";
time += (Cal.GetMonth((DateTime)(dgvMember.Rows[i].Cells[5].Value))).ToString() + "-";
time += (Cal.GetDayOfMonth((DateTime)(dgvMember.Rows[i].Cells[5].Value))).ToString();
Time = time;
dgvMember.Rows[i].Cells["Date"].Value = Time;
}


اون کدی که برای تولید تاریخ شمسی به صورت string نوشتم درست کار می کنه. فقط تو این خط مشکل دارم.

dgvMember.Rows[i].Cells["Date"].Value = Time;


مشکلم اینه که این خط اجرا میشه ولی مقدار Time تو سلول مورد نظر قرار نمی گیره. هیچ Errorای هم نمیده. مقدار ReadOnly رو false کردم. حتی از
DataGridViewCellEventArgs
و
DataGridViewCell
هم استفاده کردم. ولی بازم درست نشد.
همه ی کد هایی که برای تولید تاریخ نوشتم درست کار می کنند ولی این سطر آخر درست کار نمی کنه.
لطفاً کمک کنید.:عصبانی++:

Navid Asadi
سه شنبه 27 مرداد 1388, 21:57 عصر
راستی شما قبل از انجام تغییر در دیتا گرید بهتره که DataSource رو برابر Nothing قرار بدید ممکنه دلیلش این باشه...

mjt327
چهارشنبه 28 مرداد 1388, 12:36 عصر
datagridview1.currentrow.cell[ name of column].value استفاده چون من هم همین مشکل را داشتم

hashtgerd2
پنج شنبه 26 دی 1392, 13:24 عصر
اگه این دستور رو بکار ببریم دیتاگریدویو خالی میشه داده رو نشون نمیده dataGridView1.DataSource = null;
اون دستور بالارو هم راست میگه کار نمیکنه
منم الان این مشکل رو دارم
dataGridView1.CurrentRow.Cells["Date"].Value = Time;

hashtgerd2
پنج شنبه 26 دی 1392, 13:28 عصر
دستور درستش اینه واسه تغییر مقدار یک سلول
this.dataGridView1.Rows[1].Cells["Date"].Value = "aaaaaaaaaaaa";