PDA

View Full Version : سوال: اررور در حذف رکورد از دیتاگریدویو



saeedjafari
چهارشنبه 29 دی 1389, 18:29 عصر
با درود خدمت دوستان گرامی

در حال طراحی یک پروژه هستم

در مورد دیتاگریدویو به شکل زیر برخوردم :

1- حذف رکورد

2- ویرایش رکورد

برای حذف رکورد با خطایی مثل شکل زیر روبرو شدم

ممنون میشم راهنمایی بفرمایید. در مورد نحوه ویرایش رکورد نیز ممنون میشم کد مربوطه را برایم درج کنید

در صورت تکمیل پروژه حتما آن را در وب قرار میدم.



باتشکر




تصـــــویر خطا (http://saeedjaafari.persiangig.com/Project/eror-c%23-delete.jpg)

MortezaGity
چهارشنبه 29 دی 1389, 19:48 عصر
دوست عزیز تعداد سطرهایی که برای حذف انتخاب می کنید باید بیشتر از صفر باشه. خطا اینو میگه. برای update هم من کدشو گذاشتم قبلا. بگردید پیدا میشه. موفق باشید

saeedjafari
چهارشنبه 29 دی 1389, 22:11 عصر
با درود

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

با تشکر فراوان

amireto
چهارشنبه 29 دی 1389, 23:18 عصر
حذف ردیف







private void btnRemove_Click(object sender, EventArgs e)
{

DataGridViewRow row = grdView.Rows[grdView.CurrentRow.Index];
grdView.Rows.Remove(row);

}




به اینجا (http://barnamenevis.org/showthread.php?245726-%D9%85%D8%B7%D8%A7%D9%84%D8%A8%DB%8C-%DA%A9%D9%85%DB%8C%D8%A7%D8%A8-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-Data-Grid-View)هم سری بزنید

saeedjafari
پنج شنبه 30 دی 1389, 15:47 عصر
با درود
مشکل حذف حل شد
حالا میخوام با کلیک روی کلید "ویرایش" تمام سطرهای مورد نظر در گریدویو داخل تکست باکس خودش قرار بگیره
برای این منظور از چه کدی باید استفاده کرد
با تشکر

:خجالت:

amireto
جمعه 01 بهمن 1389, 09:30 صبح
از این کدا با توجه به نیازت و با کمی تغییر استفاده کن





textBox1.Text=dataGridView2.SelectedCells[0].Value.ToString();
textBox1.Text = dataGridView1.CurrentCell.Value.ToString();
dg1.currentrow.cell[i].value.tostring();
TextBox.Text = this.GridView1.SelectedRow.Cells[i].Text;

saeedjafari
جمعه 01 بهمن 1389, 10:17 صبح
یه توضیحی بدید مممنون میشم
با تشکر

amireto
جمعه 01 بهمن 1389, 11:40 صبح
هر 4 خط یکی است با کمی فرق در نحوه فراخوانی ستون مورد نظر
TextBox1.Text = this.GridView1.SelectedRow.Cells[i].Text
حال اگر در رویداد button خود کد بالا زا بنویسید
مقدار ستون با ایندکس i ردیف انتخاب شده در تکس باکیس شما قرار می گیرد
حال باید برای هر ستونی که مقدارش را لازم دارید برای تغییر چنین کدی بنویسید
البته اگر گرید شما bind باشد می توانید از bind استفاده کنید که راحتتر است






txtFirstName.DataBindings.Clear();
txtFirstName.DataBindings.Add("Text",objDataView, "au_fname");[/CENTER]


اگه کتاب آقای هاشمیان رو مطالعه کنید سریعتر به نتیجه می رسید

saeedjafari
جمعه 01 بهمن 1389, 14:45 عصر
با درود
یک BUTTON است که میخوام اینکارو انجام بده
باز هم ممنون
نگا میکنم کتاب ایشون رو

:لبخندساده:

amireto
جمعه 01 بهمن 1389, 16:52 عصر
هیچ مشکلی با Button نیست
اگر از روش اول استفاده کنی کد مورد نظر را در رویداد کلیک button قراربده و حال سطر مورد نظر رو انتخاب و روی button کلیک کن
در روش دوم هم ابتدا رویbutton کلیک میکنی سپس روی هر سطر بروی اطلاعات همون سطر در textbox ها قرار میگیره

saeedjafari
جمعه 01 بهمن 1389, 20:45 عصر
با درود
من 5 تا تکست باکس دارم
میشه کد روش اول رو برام بنویسید
من تست کردم جواب نداد

ممنون

amireto
جمعه 01 بهمن 1389, 23:28 عصر
private void button1_Click(object sender, EventArgs e)
{
textbox1.Text=gridView1.CurrentRow.Cells[0].Value.ToString();
textbox2.Text=gridView1.CurrentRow.Cells[1].Value.ToString();
textbox3.Text=gridView1.CurrentRow.Cells[2].Value.ToString();
//یا
textbox4.Text=gridView1.CurrentRow.Cells["firstname"].Value.ToString();
}



این کد خیلی راحت جواب میده مگر اشکالی در کدتون باشه
ابتدا سطر مورد نظر رو انتخاب سپس روی button کلیک کنید
یادتون باشه به ستونها هم از طریق اینکس شون می تونید دسترسی داشته باشید و هم از طریق نام ستون