PDA

View Full Version : پرسش:حذف وویرایش یک سطر ازDataGrideView



Bahar_HS
جمعه 19 مهر 1387, 14:51 عصر
با سلام
روی فرم برنامه ام یک DataGrideView قرار دارم ،

اینقدر می دونم که DataAdapter داده ها رو از بانک اطلاعاتی می گیره و به DataSet می ده ، وبرای نمایش داده ها از کنترل dataGrideView استفاده میشه


من هم این کارا رو انجام دادم ، و حالا رکوردهای مورد نظر کاربر بعد از جستجو روی DataGrideView نمایش داده میشه ،اما نمی دونم کد "حذف و ویرایش یک سطر از dataGrideView" رو چطور بنویسم ،

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

kh1387
جمعه 19 مهر 1387, 17:56 عصر
دوست خوبم
شما می توانید برای ویرایش یک سلول در دیتا گرید ویو از کد زیر استفاده نمائید:


privatevoid button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows[نام یا شماره سطر].Cells[نام یا شماره ستون].Value= هر مقداری که دوست دارید تغییر بدید
}

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

alidaniyali
جمعه 19 مهر 1387, 22:34 عصر
(خارج از بحث)
اضافه کردن یه columns در DataTable چه جوری صورت می گیره ؟

niloofar norouzi
جمعه 19 مهر 1387, 22:54 عصر
اگه اطلاعات از textbox وارد می شه و delete وupdate هم همینطور بگید براتون یه مثال بزارم

Bahar_HS
شنبه 20 مهر 1387, 06:13 صبح
با سلام
ممنون از دوستانی که زحمت کشیدن وراهنمایی کردن،

برنامه ای که نوشتم اینطوریه :
_به وسیله ی کنترل های روی فرم(textBox,comboBox.....) مشخصات کاربر گرفته میشه وبه طور مستقیم در DataBase ذخیره میشه،
_نتایج بازیابی از DataBase به وسیله ی SqlDataAdapter بهDataSet داده میشه و در DataGrideView نمایش داده میشه،

سوالم اینه ،
که وقتی سطری از DataGrideView انتخاب شد(همه ی ستون ها از یک سطر با هم Select شدند)و کابر دکمه"حذف" رو زد، این سطر چطور از DataSet حذف میشه،
دوستمون در راهنمایی که کردن گفتن "شماره سطر و ستون" ،اما هر سطری ممکنه که حذف بشه،

ودر مورد ویرایش ،کاربرمقادیر یکی یا چند تا از ستون های DataGrideView رو تغییر میده ، چون می خواد سطر موردنظر رو "ویرایش" کنه،

توی یه نمونه کدی که دیدم وقتی رکوردی از DataGrideView انتخاب میشد، مقادیر فیلدها به کنترل های روی فرم برمی گشت ، که البته برنامه ی من این طوری نیست،
شاید برای چیزی که می خوام لازم باشه یه همچین کاری بکنم :متفکر: وبعد مقادیر برگشتی به کنترل ها رو "حدف" و" ویرایش "کنم ،


ممنون از راهنمایی تون
و با آرزوی موفقیت برای همه ی برنامه نویس ها،
هم حرفه ای ها و هم تازه کار ها.

hojjat_gh
شنبه 20 مهر 1387, 10:57 صبح
با سلام
برای ویرایش رو به جز استفاده از کنترل ها چیزی نمیدونم ولی برای حذف:ترفند من: با راست کلیک روی سطر وانتخاب گزینه حذف ویزیبل سطر فالس میشه وبعد از طریق کدها برنامه سطری که ویزیبلش فالسه رو حذف میکنه؟

nathan
شنبه 20 مهر 1387, 12:05 عصر
دوست عزيز ديتاگريدت رو بايد به يك ديتاويو سورس كني و تمامي كارهارو كه انجام بدي (روي ديتاويو) در ديتاگريدت هم انجام مي شه.
من شيوه تمام كدش رو انجام مي دم اگه مي خواي برات بزارم؟؟؟؟

Bahar_HS
شنبه 20 مهر 1387, 15:40 عصر
با سلام
یک سوال:حتمابایدDataView هم داشته باشه؟
یعنی همSqlDataAdapret وهمDataSet وهم DataGrideViewوهم DataView ؟؟؟
همشون باهم؟

دوتا اشکال:
1- با کلیک کردن آیتم "بازیابی" فقط یک جدول خالی روی فرم نمایش داده میشه،
کدم رو با جدول jobsاز پایگاه داده ی pubsفرضی که در Sql Server هست ، امتحان کردم ، همه ی رکورهای مورد نظر ار جدول رو رویDataGrideView نمایش داد، ولی جدول برنامه ی خودم رو نشون نمی ده ، ایرادش چیه؟

2- موقع Buildکردن ،برنامه این Errorرو می ده ، چیکار کنم؟؟




Warning 1 Field 'StartingWork.Form1.components' is never assigned to, and will always have its default value null E:\softwar-1\practic\karamozy\StartingWork\StartingWork\Form1 .Designer.cs 891 50 StartingWork



اگه لطف کنید و کدی رو که گفتید بذارید ممنون میشم.
با سپاس

ali_kashani
شنبه 20 مهر 1387, 18:51 عصر
سلام

ببين اين راه خوبه

1- يك Data set از طريق ويزارد درست كن
2- يك BIndingSource ايجاد ميكني
3- BindingSource را به DataSet متصل كرده
4- بعد تمامي كنترله از قبيل Textbox و DataGrid و غيره را مي توني به آن وصل كني
5- BindingSource قابليت حذف و ويرايش و اضافه كردن را به شما مي دهد يعني شما زماني كه مشخصات در DataGrid ‫ظاهر شد همانجا مقدار Cell را تغيير بدي و ‌ذخيره كني

به نظر من خيلي راحت ، و بدرد كاري كه شما مي خواهي مي خوره اگه خواستي مي تونم يه مثال برات بزارم

Bahar_HS
یک شنبه 21 مهر 1387, 09:21 صبح
با سلام
من از طریق "کدنویسی " برنامه رو نوشتم ، چون این طوری که متوجه شدم با کدنویسی حجم برنامه کمتر میشه،
نمی دونم چیزی رو که دنبالش چطوری بگم ،
مثلا DataSet یه همچین متدی داره:



DataSet changedData = dataSet1.Getchanhes()



که مثلا حاوی آخرین تغییرات ذخیره نشده است،

DataGrideView داده ها رو در جدولی نشون می ده(روی فرم) ، وقتی روی مربعی که در ابتدای سطر وجود داره کلیک کنی ، همه ی ستون های جدول انتخاب میشن، این انتخاب شدن در چه ویژگی ای از DataGrideView تاثیر می ذاره ، که با تغییر این خاصیت حالا به DataGrideView بگیم که "حذف" یا "ویرایش" رو روی این سطر انجام بده ، من دنبال یه همچین چیزی هستم ، استفاده از ویژگی ها و متد های موجود در محیط برنامه نویسی برای
SqlDataAdapter,DataSet, DataGrideView.
دوستانی که قول راهنمایی وگذاشتن کد رو داده بودن، من همچنان منتظرم!!!

با سپاس