PDA

View Full Version : سوال: فارسی کردن عنوان ستون های GridView هنگامی که از stored procedure استفاده میشه



veniz2008
پنج شنبه 22 دی 1390, 20:27 عصر
سلام،به نظر خودم سوالم باید تکراری باشه ولی هرچی گشتم و هرجوری گشتم نتونستم چیزی توی سایت پیدا کنم،پس مجبور به ایجاد تاپیک جدید شدم،اما سوال:من با استفاده از یک stored procedure داده های جدولم رو داخل یک گرید ویو نمایش میدم،حالا موندم چطوری عناوین ستون ها رو فارسی کنم؟(مثلا name رو نام کنم)،دوستان توجه کنند که از stored procedure دارم استفاده میکنم،تشکر.

saeedgharedaghi
پنج شنبه 22 دی 1390, 21:22 عصر
خوب میتونی موقع برگردوندن سطرها به ستون ها نام بدی
اینم یه مثال ساده


CREATE PROCEDURE getNem

AS
BEGIN
SELECT t1.name as نام from t1
END
GO

rana-writes
پنج شنبه 22 دی 1390, 22:28 عصر
سلام
گريدتون رو دارين ويزاردي ربط ميدين به استور؟
اگه اينطوريه روي گريد كليك راست كنين گزينه Edit Column دارين از اونجا ميتونين عناوين ستونها رو عوض كنين
و راه ساده تر هم اينه كه وقتي گريد ايجاد شده توي خود محيط Asp.Net توي كدهاي مربوط به گريد، نامهاي فارسي به ستونها بدين


موفق باشين

veniz2008
جمعه 23 دی 1390, 00:41 صبح
سلام
گريدتون رو دارين ويزاردي ربط ميدين به استور؟
اگه اينطوريه روي گريد كليك راست كنين گزينه Edit Column دارين از اونجا ميتونين عناوين ستونها رو عوض كنين
و راه ساده تر هم اينه كه وقتي گريد ايجاد شده توي خود محيط Asp.Net توي كدهاي مربوط به گريد، نامهاي فارسي به ستونها بدين
موفق باشين
برای نمایش فقط از کدنویسی استفاده کردم،آیا تنها راه اینه که کد مربوط به procedure رو تغییر بدم؟

saeedgharedaghi
جمعه 23 دی 1390, 00:59 صبح
دوست عزیز یه راهش اینه و راهه دیگشم
همون طور که دوستمون تو پست شماره 3 توضیح دادن میتونین از طریق کد نویسی تو code behinde نامهاي فارسي به ستونها بدين.

موفق باشین.

Sirwan Afifi
جمعه 23 دی 1390, 11:43 صبح
سلام دوست عزیز
ابتدا Edit Coulmns رو بزن بعد تیک Auto-generate fields رو بردار.
بعد به تعداد فیلدهات BoundField اضافه کن و برای هر کدوم دو تا خاصیت زیر رو مقداردهی کن :
HeaderText="عنوان"
،DataField="نام فیلد مربوطه"

اینم کد مربوطه :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
SqlCommand cmd = new SqlCommand("dbo.ShowStudent",con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();

ok.baby
سه شنبه 12 دی 1391, 14:59 عصر
سلام دوست عزیز
ابتدا Edit Coulmns رو بزن بعد تیک Auto-generate fields رو بردار.
بعد به تعداد فیلدهات BoundField اضافه کن و برای هر کدوم دو تا خاصیت زیر رو مقداردهی کن :
HeaderText="عنوان"
،DataField="نام فیلد مربوطه"

اینم کد مربوطه :

SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=University;Integrated Security=True");
SqlCommand cmd = new SqlCommand("dbo.ShowStudent",con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();


واقعا ممنون :قلب:

اسم ستون هارو عوض کردم.

ولی خط آخر ارور میده. یعنی دیتا بایند نمیشه. نمیدونید مشکل چیه؟

ali9698
سه شنبه 12 دی 1391, 20:15 عصر
میتونی از رویداد databound خود گریدویو استفاده کنی و توی اون هر کدوم از ستون ها رو که خواستی تغییرش بدی
مثلا کد زیر رو توی رویداد DataBound بنویس
if(GridView1.Rows.Count>0)
GridView1.Columns[0].HeaderText="نام";

ok.baby
چهارشنبه 13 دی 1391, 05:07 صبح
میتونی از رویداد databound خود گریدویو استفاده کنی و توی اون هر کدوم از ستون ها رو که خواستی تغییرش بدی
مثلا کد زیر رو توی رویداد DataBound بنویس
if(GridView1.Rows.Count>0)
GridView1.Columns[0].HeaderText="نام";

ممنون از راهنماییت :قلب:
اینو تو رویداد databound نوشتم اما بازم همون ارور index must be non negative رو میده :افسرده: