PDA

View Full Version : سوال: تغییر متن datagridview



behnam3000
سه شنبه 31 شهریور 1394, 00:55 صبح
سلام به اساتید
من یه برنام دارم که به وسیله تکست باکس تو دیتا بیس اضافه میکنم و تو دیتا گرید نشون میدم
من گفتم تاریخ رو در صورتی که وارد نکرد با کد زیر ثبت کنه
if(txtdateexit.Text != "")
tblSabt.edate = DC.shamsitomiladi(txtdate.Text);
else
{
tblSabt.edate = default(DateTime);
}
حالا تو دیتا گرید چرت و پرت میاره میخوام کاری کنم که خالی نشون بده تو دیتا گرید ویو اونایی که (default(DateTime و اونایی هم که وارد کردن همون تاریخ خودشو نشون بده
کسی میتونه کمکم کنه

این عکس از دیتا گرید ویو
تو دیتا بیس تاریخ رو date تعریف کردم
میخوام 2 و 3 خالی نشون داده بشه
بازم تکرار میکنم نمیخوام کل سطرش نباشه میخوام فقط 621/10/12- که تو دیتا گرید ویو خالی نمایش بده
لطفا راهنماییم کنین

shadi khanum
سه شنبه 31 شهریور 1394, 11:10 صبح
چرا موقع اینسرت توی دیتابیس، اگر تاریخ خالی بود null اینسرت نمیکنید؟ اینجوری توی دیتاگریدتون وقتی null اینسرت کرده باشید، خالی نمایش میده و کار خاصی نمیخاد انجام بدید

shaho.khedri
سه شنبه 31 شهریور 1394, 11:15 صبح
سلام
دیتاگریدویو یه رخداد داره به اسم CellFormatting

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e){
if (e.ColumnIndex == 2)
{
object value = e.Value;
if (value is DateTime && value == "Tarikhe made nazar")
{
e.value=null
e.FormattingApplied = true;
}
}
}
کد مشابهی میتونه چاره ی کارتون باشه
البته اینجا فرض شده که ستون تاریخ، سومین ستونتون باشه

niloofar_f
جمعه 15 آبان 1394, 21:56 عصر
سلام
دیتاگریدویو یه رخداد داره به اسم CellFormatting

سلام
من با همبن رخداد تکست باکس رو در دیتاگرید پر کردم و خوب نمایش میده

ولی مشکلم اینه که وقتی میخوام این تکست باکس رو فراخوانی کنم (مثلا برای ویرایش) مقدار Value رو null فرض میکنه درحالی که مقدار در دیتا گرید دیده میشه!

لطفا راهنمایی کنید
136527

hadi vafaii
جمعه 15 آبان 1394, 22:22 عصر
سلام به اساتید
من یه برنام دارم که به وسیله تکست باکس تو دیتا بیس اضافه میکنم و تو دیتا گرید نشون میدم
من گفتم تاریخ رو در صورتی که وارد نکرد با کد زیر ثبت کنه
if(txtdateexit.Text != "")
tblSabt.edate = DC.shamsitomiladi(txtdate.Text);
else
{
tblSabt.edate = default(DateTime);
}
حالا تو دیتا گرید چرت و پرت میاره میخوام کاری کنم که خالی نشون بده تو دیتا گرید ویو اونایی که (default(DateTime و اونایی هم که وارد کردن همون تاریخ خودشو نشون بده
کسی میتونه کمکم کنه

این عکس از دیتا گرید ویو
تو دیتا بیس تاریخ رو date تعریف کردم
میخوام 2 و 3 خالی نشون داده بشه
بازم تکرار میکنم نمیخوام کل سطرش نباشه میخوام فقط 621/10/12- که تو دیتا گرید ویو خالی نمایش بده
لطفا راهنماییم کنین

نمی دونم درست متوجه شدم یا نه
اگه شما میخوای درصورتی که کاربر تاریخ رو وارد نکرد سلول مورد نظر که تاریخ توش ثبت میشه خالی باشه چرا اینجوری نمینویسی
if(txtdateexit.Text != "")
tblSabt.edate = DC.shamsitomiladi(txtdate.Text);
else
{
tblSabt.edate = "";
}