PDA

View Full Version : سوال: ویرایش datagridview



mahboub_gol
شنبه 19 اردیبهشت 1388, 01:46 صبح
سلام من یک د یتا گرید دارم که میخواهم آن را ویرایش کنم مثلا اگر کاربر فهمید که نام یکی سطرهای دیتا گرید را صحیح درج نکرده بخواهد آن را اصلاح کند باید سطر را انتخاب کند ومتن آن در تکس باکس نمایش داده شود بعد که اصلاح کرد ودکمه درج را زد نام صحیح آن جایگزین نام نادرست در دیتاگرید شود در ضمن دیتا گرید وصل پایگاه داده است ودو ستون به نامهای id,nameدارد که idآنvisible اش false است ممنون میشم اگر کمکم کنید

unique1984
شنبه 19 اردیبهشت 1388, 04:07 صبح
سلام
مشکل کجاست؟ آیا با کلیک روی هر سطر گرید اطلاعات رو در تکست باکسهای مورد نظر لود کردین یا نه؟ یا مشکلتون در نحوه آپدیته؟
فرض میکنم شما مقدار نام رو در تکست باکس لود کردین ، طبیعتا فیلد id فیلد کلیدتون هستش.
پس شما هنگام کلیک روی گرید علاوه بر مقدار نام ، مقدار آی دی رو هم باید برگردونین(مثلا بریزین در یک متغیر) بعد با توجه به این آی دی ، مقدار نام رو هم آپدیت کنین.
دقیقا بفرمایین مشکل کجاست تا راهنمایی بهتری ارائه بشه.

asefy2008
شنبه 19 اردیبهشت 1388, 10:52 صبح
با استفاده از این کد اطلاعات داخل سطر مورد نظرت رو در تکست باکس ها بریز.



textbox_id=datagridview.Rows[0].Cells[0].Value.tostring();
textbox_name=datagridview.Rows[0].Cells[1].Value.tostring();


البته یادت باشه که رویدادت رو مثلا کلیک باید باشه وبرای سطر انتخاب شده هم می تونی از کد زیر استفاده کنی :



DataGridView.CurrentCell.RowIndex;


بعد ویرایش تکست باکس ها هم از کد زیر برای ویرایش گریدت استفاده کن:



datagridview.Rows[0].Cells[0].Value=textbox_id.text;
datagridview.Rows[0].Cells[1].Value=textbox_name.text;


یه چیز دیگه ممکنه برخی از ستون هات کلید باشه اون موقع باید یه مقدار تغییر ایجاد کنی و اینکه من id رو از جنس استرینگ در نظر گرفتم .

NewFoxStudent
شنبه 19 اردیبهشت 1388, 11:01 صبح
اول باید اطلاعاتی رو که توسط تکست باکس دریافت کردی در بانک تغییر بدی و بعد گرید رو رفرش کنی
برای رفرش کردن گرید هم میتونی اون رو خالی کنی و دوباره با اطلاعات جدید پرش کنی
اگه نیاز به کد داری بگو

mahboub_gol
شنبه 19 اردیبهشت 1388, 13:12 عصر
اول باید اطلاعاتی رو که توسط تکست باکس دریافت کردی در بانک تغییر بدی و بعد گرید رو رفرش کنی
برای رفرش کردن گرید هم میتونی اون رو خالی کنی و دوباره با اطلاعات جدید پرش کنی
اگه نیاز به کد داری بگو
ممنون میشم اگه کدش را بنویسید
در ضمن من وقتی سطر مورد نظرم را کلیک کردم نام آن در تکست باکس نمایش داده میشود ومیتونم هر تغییری که خواستم در کلماتش بدم فقطمیخواهم وقتی دکمه درج را زدم نام درست جایگزین نام قبلی شود

NewFoxStudent
شنبه 19 اردیبهشت 1388, 14:43 عصر
string sqlCmd = "UpDate tablename set Name = @newName Where ID = @newID";
System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection(ConnectionStri ng);
System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand(sqlCmd, sqlConnection);
sqlCommand.Parameters.AddWithValue(@newName, textbox1.text);
sqlCommand.Parameters.AddWithValue(@new, personelID);
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();