PDA

View Full Version : سوال: تبدیل نوع داده ای یک ستون در دیتاگیرد از unsignedByte به string



SOHEILSySTEM
پنج شنبه 17 بهمن 1392, 09:38 صبح
سلام دوستان بنده یک شرطی برای یک ستون در دیتاگرید می خوام قرار بدم که اگر مثل 0 بود به جای 0 "فعال" رو نمایش بده
کد برنامه ام به شکل زیر ولی هیچ اکشنی انجام نمیشه
for (int j = 0; j < dataGridView1.RowCount; j++)
{
string status = Convert.ToString(dataGridView1.Rows[j].Cells[3].Value);
if (status == "0")
{
status = "فعال";
}
else
{
status = "غیر فعال";
}
}
در ضمن اطلاعات دیتاگرید از وب سرویس دریافت میشه.

saied_hacker
پنج شنبه 17 بهمن 1392, 09:51 صبح
توی خونه سوم جدولت مثلا چه مقدار هایی مثلا قراره ذخیره بشه ؟
اگه قراره true یا false داسته باشه از توع bit استفاده کن ... اگه نه بگو چیه داده هات ..

البته یه بار میتونی دیباگ هم بکنی ببنی توی if مقدار status چیه خوب ...:لبخند:

SOHEILSySTEM
پنج شنبه 17 بهمن 1392, 09:54 صبح
سلام خیلی ممنون، داده ها فقط جنبه نمایشی داره مثلا وب سرویس مقدار یک یا صفر رو برمیگردونه ولی من می خوام فعال یا غیر فعال به کاربر نمایش داده بشه

saied_hacker
پنج شنبه 17 بهمن 1392, 10:05 صبح
تنها دلیل که میتونه داشته باشه اینه که status مقدارش null باشه تا if و else اجرا نشه ...
اینو یه تست بکن - اگه مقدارش 0 یا 1 باشه باید کار کنه اگه نه خطا گرفت مقدار ورودیت مشکل داره....

if (!(bool)dataGridView1.Rows[j].Cells[3].Value)
{
status = "فعال";
}
else
{
status = "غیر فعال";
}
}

SOHEILSySTEM
پنج شنبه 17 بهمن 1392, 10:20 صبح
نه ببنید زمانی که کد رو به شکل زیر مینویسم مقدار ها رو تغییر میده ولی احتمالا با رشته مشکل داره
for (int j = 0; j < dataGridView1.RowCount; j++)
{
if (dataGridView1.Rows[j].Cells[3].Value.ToString() == "0")
{
dataGridView1.Rows[j].Cells[3].Value = "3";
}
else
{
dataGridView1.Rows[j].Cells[3].Value = "2";
}
}

plus
پنج شنبه 17 بهمن 1392, 10:45 صبح
شما باید توی رویداد CellFormatting مربوط به DataGridView، تبدیل رو انجام بدین.همین CellFormatting رو در فروم جستجو کنید.

SOHEILSySTEM
پنج شنبه 17 بهمن 1392, 11:58 صبح
شما باید توی رویداد CellFormatting مربوط به DataGridView، تبدیل رو انجام بدین.همین CellFormatting رو در فروم جستجو کنید.

خیلی ممنون از راهنمایتون سرچ کردم ولی به نتیجه ای نرسیدم!!

plus
پنج شنبه 17 بهمن 1392, 13:28 عصر
چطوری جستجو کردین؟
http://barnamenevis.org/showthread.php?376568-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7-%DA%AF%D8%B1%DB%8C%D8%AF-%D9%88%DB%8C%D9%88&p=1664351&viewfull=1#post1664351

SOHEILSySTEM
جمعه 18 بهمن 1392, 08:21 صبح
چطوری جستجو کردین؟
http://barnamenevis.org/showthread.php?376568-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7-%DA%AF%D8%B1%DB%8C%D8%AF-%D9%88%DB%8C%D9%88&p=1664351&viewfull=1#post1664351

آقا خیلی ممنون ولی خدایی سرچ کردم تو تاپیک سی شارپ هیچ نتیجه نیاورد !!!!!

استاد با این روش هم تست کردم جواب نداد؟!!!!
ولی زمانی که از e.value = غیر فعال استفاده میکنم کل جدول میشه غیر فعال یعنی اونایی که نوع داده ایشون غیر رشته ای هست هم تغییر کرد ؟؟!

plus
جمعه 18 بهمن 1392, 10:24 صبح
کدی که کار نمیکنه رو بگذارین.