PDA

View Full Version : تغییر دادن مقادیر یک ستون از جدول در زمان select



fool66
جمعه 13 اردیبهشت 1392, 14:17 عصر
سلام

من می خواستم وقتی بانکم رو به دیتاگریدویو وصل می کنم به جای نمایش مقادیر خاص در یه فیلد کلمات دلخواه خودم نمایش داده بشه

مثلا من می خوام مقادیر 1 با عنوان " کلمه یک "
و مقادیر 2 با عنوان "کلمه دو " نمایش داده بشه فقط در یه فیلد نه همه فیلد ها

توی بانک نمی خوام مقدارهاش تغییر کنه فقط واسه نمایش

_behnam_
جمعه 13 اردیبهشت 1392, 14:26 عصر
بعد از اینکه دیتاگرید ست شد :
dataGridView1.Columns["clmn_id"].HeaderText = "شماره";
dataGridView1.Columns["clmn_name"].HeaderText = "نام";

fool66
جمعه 13 اردیبهشت 1392, 14:32 عصر
بعد از اینکه دیتاگرید ست شد :
dataGridView1.Columns["clmn_id"].HeaderText = "شماره";
dataGridView1.Columns["clmn_name"].HeaderText = "نام";


اینی که نوشتی هدر رو تغییر میده من می خوام مقدار سلول رو چک کنه اگه 1 بود تغییرش بده به "کلمه یک"

_behnam_
جمعه 13 اردیبهشت 1392, 15:27 عصر
بفرمایید.

if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "1")
dataGridView1.Rows[0].Cells[0].Value = "کله یک";

موفق باشد.

fool66
جمعه 13 اردیبهشت 1392, 15:35 عصر
بفرمایید.

if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "1")
dataGridView1.Rows[0].Cells[0].Value = "کله یک";

موفق باشد.

کجا باید بنویسم؟؟؟

fool66
جمعه 13 اردیبهشت 1392, 16:03 عصر
بفرمایید.

if (dataGridView1.Rows[0].Cells[0].Value.ToString() == "1")
dataGridView1.Rows[0].Cells[0].Value = "کله یک";

موفق باشد.

مثلا اگه بخوام این فیلتر برای تمام سطر های ستون 7 اجرا بشه کجا و چطور باید بنویسم اینطور نوشتم خطا داد

if (dataGridView1.Rows[0].Cells[7].Value.ToString() == "1")
dataGridView1.Rows[0].Cells[7].Value = "کله یک";

fool66
جمعه 13 اردیبهشت 1392, 16:17 عصر
public void CustomerForm_Load(object sender, EventArgs e)
{
dataGridViewX1.DataSource = Cus.connectdb("select * from Obverse where active=1");
dataGridViewX1.Columns[0].Visible = true;
dataGridViewX1.Columns[1].HeaderText = "نام";
dataGridViewX1.Columns[2].HeaderText = "نام خانوادگی";
dataGridViewX1.Columns[3].HeaderText = "شرکت";
dataGridViewX1.Columns[4].HeaderText = "تلفن";
dataGridViewX1.Columns[5].HeaderText = "فکس";
dataGridViewX1.Columns[6].Visible = true;
dataGridViewX1.Columns[7].Visible = true;
dataGridViewX1.Columns[8].Visible = true;
}

fool66
جمعه 13 اردیبهشت 1392, 16:25 عصر
اینم کدش می خوام برای Columns[7] اجرا بشه

Mahmoud.Afrad
جمعه 13 اردیبهشت 1392, 16:38 عصر
نگفتید اسم ستون چیه توی کوئری هم معلوم نیست. ولی مثال زیر رو ببینید. ستون number را به معادل حروفی تبدیل کردم:

SELECT [name],
CASE [number]
WHEN 1 THEN N'یک'
WHEN 2 THEN N'دو'
WHEN 3 THEN N'سه'
END
FROM Table_1

fool66
جمعه 13 اردیبهشت 1392, 16:42 عصر
نگفتید اسم ستون چیه توی کوئری هم معلوم نیست. ولی مثال زیر رو ببینید. ستون number را به معادل حروفی تبدیل کردم:

SELECT [name],
CASE [number]
WHEN 1 THEN N'یک'
WHEN 2 THEN N'دو'
WHEN 3 THEN N'سه'
END
FROM Table_1


من از کار با کوئری چیزی حالیم نمیشه :افسرده:

erfan_urchin
جمعه 13 اردیبهشت 1392, 19:08 عصر
مثلا اگه بخوام این فیلتر برای تمام سطر های ستون 7 اجرا بشه کجا و چطور باید بنویسم اینطور نوشتم خطا داد

if (dataGridView1.Rows[0].Cells[7].Value.ToString() == "1")
dataGridView1.Rows[0].Cells[7].Value = "کله یک";
for (int i = 0; i < ds.Rows.Count; i++)
{
if (dataGridView1.Rows[i][7].Value.ToString() == "1")
dataGridView1.Rows[i][7].Value = " یک";
else if (dataGridView1.Rows[i][7].Value.ToString() == "2")
dataGridView1.Rows[i][7].Value = " دو";
}
ds همون شی ساخته شده از DataSet هستش البته از DataTable هم میتونین استفاده کنین
این کد رو میتونین توی همون رویداد Button_click که اطلاعات رو میریزه تو گریدویو بنویسین. یعنی بعد این که کد نوشتین که دیتا گریدویو رو پر کنه ، این کد هارو بنویسین
موفق باشی

fool66
جمعه 13 اردیبهشت 1392, 19:40 عصر
for (int i = 0; i < ds.Rows.Count; i++)
{
if (dataGridView1.Rows[i][7].Value.ToString() == "1")
dataGridView1.Rows[i][7].Value = " یک";
else if (dataGridView1.Rows[i][7].Value.ToString() == "2")
dataGridView1.Rows[i][7].Value = " دو";
}
ds همون شی ساخته شده از DataSet هستش البته از DataTable هم میتونین استفاده کنین
این کد رو میتونین توی همون رویداد Button_click که اطلاعات رو میریزه تو گریدویو بنویسین. یعنی بعد این که کد نوشتین که دیتا گریدویو رو پر کنه ، این کد هارو بنویسین
موفق باشی

این کدی که گذاشتی بعد از پر کردن گریدویو شروع به تعویض می کنه فقط برای رشته ها خوبه
ولی اگه من بخوام یه مقدار Boolean رو چک کنم و به جاش یه رشته بزارم انجامش نمی ده

_behnam_
جمعه 13 اردیبهشت 1392, 22:48 عصر
مقدار bool هم به شکل زیر است.

if (dataGridView1.Rows[i][7].Value.ToString() == "true")
یا
if (dataGridView1.Rows[i][7].Value.ToString() == "false")

fool66
جمعه 13 اردیبهشت 1392, 23:04 عصر
تغییری نمی کنه

Mahmoud.Afrad
جمعه 13 اردیبهشت 1392, 23:17 عصر
راهش همونه که بنده گفتم. یک بار دیگه کوئری رو بدون * بزارید یعنی به جای * نام ستونها رو بنویسید و همچنین بگید چه ستونهایی با چه مقداری قراره به چه مقداری تغییر داده بشن.

fool66
جمعه 13 اردیبهشت 1392, 23:25 عصر
راهش همونه که بنده گفتم. یک بار دیگه کوئری رو بدون * بزارید یعنی به جای * نام ستونها رو بنویسید و همچنین بگید چه ستونهایی با چه مقداری قراره به چه مقداری تغییر داده بسن.

چطور باید استفاده کنم ؟؟؟؟ لینک آموزشی داری؟؟؟؟

Mahmoud.Afrad
جمعه 13 اردیبهشت 1392, 23:31 عصر
این جدول Obverse چه ستونهایی داره و نوعشون چیه.

fool66
جمعه 13 اردیبهشت 1392, 23:35 عصر
این جدول Obverse چه ستونهایی داره و نوعشون چیه.

اینا هستن که می خوام فیلد Kharidar اگه true بود توی گریدویو خریدار نشون بده اگه false بود فروشنده نمایش بده

JustAcMilan
شنبه 14 اردیبهشت 1392, 02:41 صبح
اینا هستن که می خوام فیلد Kharidar اگه true بود توی گریدویو خریدار نشون بده اگه false بود فروشنده نمایش بده
بهتره که یه جدول دیگه به بانکت اضافه کنی که دوتا فیلد id و value داشته باشه مثلا
id 1=kharidar و id 2=forooshande
بعد id رو به عنوان کلید خارجی بیار تو جدول اصلیت
دیگه بقیشم که راحته

Mahmoud.Afrad
شنبه 14 اردیبهشت 1392, 02:59 صبح
SELECT Oid,
Fname,
Lname,
Cname,
Tell,
Fax,
[Address],
CASE [Kharidar]
WHEN 'True' THEN N'خریدار'
WHEN 'False' THEN N'فروشنده'
END
FROM Obverse
WHERE Active = 'True'

fool66
شنبه 14 اردیبهشت 1392, 11:49 صبح
SELECT Oid,
Fname,
Lname,
Cname,
Tell,
Fax,
[Address],
CASE [Kharidar]
WHEN 'True' THEN N'خریدار'
WHEN 'False' THEN N'فروشنده'
END
FROM Obverse
WHERE Active = 'True'


ممنون داداش دیشب جناب khokhan گفتن
بازم ممنون از لطف همتون :قلب: