PDA

View Full Version : سوال: برابر کردن جدول با فیلد دستی در گرید؟



samadblaj
دوشنبه 15 آبان 1391, 10:29 صبح
سلام دوستان ببخشید در یک گرید چند تا ستون به صورت دستی اضاف کردم .
مثلا اینجور | شماره | نام | نام خانوادگی|
میخوام وقتی جدول بایند شد اطلاعات فیلد های جدول برابر بشه با ستون هایی که دستی درست کردم؟
یعنی فیلد جدول به نام ID بایند بشه توی فیلد "شماره".

با تشکر.

morteza271
دوشنبه 15 آبان 1391, 10:44 صبح
هر ستونی که اضافه کردین یه پراپرتی داره با نامه DataPropertyName اونو برابر همون ستونی قرار بدین که میخواین باشه.
مثلا در اینجا برای شماره بذارین ID
موفق باشید

samadblaj
دوشنبه 15 آبان 1391, 11:07 صبح
هر ستونی که اضافه کردین یه پراپرتی داره با نامه DataPropertyName اونو برابر همون ستونی قرار بدین که میخواین باشه.
مثلا در اینجا برای شماره بذارین ID
موفق باشید

ممنونم دوست خوبم ولی من میخوام از طریق کد نویسی این کار رو انجام بدم ، به این شکلی که فرمودید به یه مشکل بر میخورم و چون از کلاس EF استفاده میکنم مناسب نیست.
به این شکل بعد از باید دیتا توی گرید فیلد ها رو بربر کنه؟

morteza271
دوشنبه 15 آبان 1391, 11:14 صبح
ممنونم دوست خوبم ولی من میخوام از طریق کد نویسی این کار رو انجام بدم ، به این شکلی که فرمودید به یه مشکل بر میخورم و چون از کلاس EF استفاده میکنم مناسب نیست.
به این شکل بعد از باید دیتا توی گرید فیلد ها رو بربر کنه؟
احساس میکنم درست متوجه منظورتون نشدم!!! خوب با کد هم میتونید همین کار رو انجام بدین!!!
اگه میشه بیشتر توضیح بدین...

samadblaj
دوشنبه 15 آبان 1391, 11:19 صبح
احساس میکنم درست متوجه منظورتون نشدم!!! خوب با کد هم میتونید همین کار رو انجام بدین!!!
اگه میشه بیشتر توضیح بدین...
نه دوست خوبم درست متوجه شدی.
ببینید توی جدول من فیلد ها به صورت فینگلیش هستش و وقتی توی برنامه بایند میکنم به صورت فینگلیش زیاد جالب نیست.
حالا اومدم هدر های گرید رو به صورت دستی خودم وارد کردم و مرتب کردم الان میخوام وقتی بایند میکنم ستون TABLE رو به ستون های سفارشی که دستی اضاف کردم مرتبت کنم؟
اگه متوجه نشدید بگید تا بیشتر توضیح بدم.

morteza271
دوشنبه 15 آبان 1391, 11:32 صبح
خوب دیگه!
پس با همون روشی که گفتم میشه!! من خودم همیشه همینطوری عمل میکنم و ستونها رو خودم میسازم و خاصیت DataPropertyName رو تنظیم میکنم و همه چی هم درسته و هیچ مشکلی نداره!!
حالا من نمیدونم شما چطوری گریدتون رو بایند می کنید!! اگه کدتون رو هم بذارین بهتر میتونم کمکتون کنم...

samadblaj
دوشنبه 15 آبان 1391, 11:49 صبح
خوب دیگه!
پس با همون روشی که گفتم میشه!! من خودم همیشه همینطوری عمل میکنم و ستونها رو خودم میسازم و خاصیت DataPropertyName رو تنظیم میکنم و همه چی هم درسته و هیچ مشکلی نداره!!
حالا من نمیدونم شما چطوری گریدتون رو بایند می کنید!! اگه کدتون رو هم بذارین بهتر میتونم کمکتون کنم...

مرتضی جون اینجور نمیشه ببینید من دیتابیس رو در یک کلاس Entity قرار دادم و بعد بایند میکنم و در پروپرتی DataPropertyName هیچ کلاسی رو نمیشه بهش نسبت داد. توی گرید میشه لطف کنید خودتون یه مثال به صورت کد به هر شکل بذارید تا شاید خودمم تونستم روش کار کنم.

morteza271
دوشنبه 15 آبان 1391, 12:07 عصر
من معمولا از روش زیر برای پر کردن گریدها استفاده میکنم :
به همون روشی که خودتون گفتین ستون ها رو توی گرید ایجاد میکنم و خاصیت DataPropertyName رو مقداردهی میکنم.
بعد با کد میام یه دیتاتیبل به خاصیت DataSource گرید میدم به صورت زیر :
SqlConnection Con = new SqlConnection("ConnectionString");
string CommandText = "Select * From Table";
SqlDataAdapter da = new SqlDataAdapter(CommandText, Con);
DataTable dt = new DataTable();
da.Fill(dt);
dgvList.DataSource = dt;

اینطوری درسته و هیچ مشکلی هم باهاش نداشتم!!
راستش من زیاد با این Entity کار نمیکنم و دقیق نمیدونم چطوریه!!!

samadblaj
دوشنبه 15 آبان 1391, 12:19 عصر
من معمولا از روش زیر برای پر کردن گریدها استفاده میکنم :
به همون روشی که خودتون گفتین ستون ها رو توی گرید ایجاد میکنم و خاصیت DataPropertyName رو مقداردهی میکنم.
بعد با کد میام یه دیتاتیبل به خاصیت DataSource گرید میدم به صورت زیر :
SqlConnection Con = new SqlConnection("ConnectionString");
string CommandText = "Select * From Table";
SqlDataAdapter da = new SqlDataAdapter(CommandText, Con);
DataTable dt = new DataTable();
da.Fill(dt);
dgvList.DataSource = dt;

اینطوری درسته و هیچ مشکلی هم باهاش نداشتم!!
راستش من زیاد با این Entity کار نمیکنم و دقیق نمیدونم چطوریه!!!

بله از این روش میشه اما بعد از بایند میخوام هدر ها رو با هدر ساخته شده خودم ست کنم.
این روشی رو که شما زحمتش رو کشیدید توسط پروپرتی تنضیم میشه که مشکل منو حل نمیکنه.
من توی پروپرتی DataPropertyName گزینه ای برای اضافه کردن پایگاه داده ندارم و نمیخوام داشته باشم.
برنامه اطلاعات رو در گرید load میکنه اما نیاز هست که ستون ها ی انگلیسی رو فارس کنم... (در عین حال خیلی ساده ست)

morteza271
دوشنبه 15 آبان 1391, 12:28 عصر
میگم با کد هم میتونید هدر ستونها رو تغییر بدین!!!
به این صورت :
dataGridView1.Columns["Id"].HeaderText = "شماره";
شاید بتونید بعد از بایند از این کد استفاده کنید و هدر ستونها رو عوض کنید!
اینم بدردتون نمیخوره؟!!!

samadblaj
دوشنبه 15 آبان 1391, 12:37 عصر
میگم با کد هم میتونید هدر ستونها رو تغییر بدین!!!
به این صورت :
dataGridView1.Columns["Id"].HeaderText = "شماره";
شاید بتونید بعد از بایند از این کد استفاده کنید و هدر ستونها رو عوض کنید!
اینم بدردتون نمیخوره؟!!!

آره مرتضی جون خدا خیرت بده این قطعه کد اعصاب منو خورد کرده بود.

morteza271
دوشنبه 15 آبان 1391, 12:49 عصر
آره مرتضی جون خدا خیرت بده این قطعه کد اعصاب منو خورد کرده بود.

یعنی با این کد مشکلتون برطرف شد؟؟!! :کف:

samadblaj
دوشنبه 15 آبان 1391, 12:56 عصر
یعنی با این کد مشکلتون برطرف شد؟؟!!

آره با کمی تغییر کوچیک...
نمیدونی اسیر این تیکه کد شده بودم. :لبخند:

morteza271
دوشنبه 15 آبان 1391, 12:57 عصر
آره با کمی تغییر کوچیک...
نمیدونی اسیر این تیکه کد شده بودم. :لبخند:

خیلی خوشحال شدم که تونستم بهتون کمک کنم...
موفق و پیروز باشید...