من یه datagridview دارم که یه datagridviewbuttomcolum با تکست حذف گذاشتم.
میخوام با زدن دکمه هر سطر اون سطر از گریدم حذف بشه.(البته این حذف حالت نمادین داره،یعنی فقط میخوام از لحاظ ظاهری فقط از گریدم حذف بشه)
باید چه کدی بزنم؟
ممنون
من یه datagridview دارم که یه datagridviewbuttomcolum با تکست حذف گذاشتم.
میخوام با زدن دکمه هر سطر اون سطر از گریدم حذف بشه.(البته این حذف حالت نمادین داره،یعنی فقط میخوام از لحاظ ظاهری فقط از گریدم حذف بشه)
باید چه کدی بزنم؟
ممنون
یک ستون از نوع button قرار بده و در رویداد cellmouseclick ان گرید برای آن ستون قرار بده از سطر جاری را حذف کنه ولی دیتا بیس را update نکن
ممنون ،1-اما اگه ستون های گرید رو با کد نوشته باشم،نمی دونم رویداد cellmouseclickرو از کجا بیارم؟
DataGridViewButtonColumn dg = new DataGridViewButtonColumn();
dg.HeaderText = "حذف";
dg.Text = "حذف";
dg.UseColumnTextForButtonValue = true;
dg.Width = 50;
selectunitdataGridView.Columns.Add(dg);
2-این کدی که میگید فقط از گرید حذف کن چه طوریه؟
ممنون
تو کلیک دیتاگرید کد زیر رو بنویس
DataGridView_tashih.Rows.Remove(DataGridView_tashi h.CurrentRow);
آخرین ویرایش به وسیله modern_amin : دوشنبه 10 بهمن 1390 در 11:09 صبح
نه نمی خوام search کنم.این عکس رو ببینید:
01-09-2012 11-03-59 ق.png
تو گرید ویوی پایین میخوام اگه درس انتخابی اشتباه بوده،قبل از این که ثبت رو بزنه از گرید بتونه حذف بکنه(صرفا از گریده حذف من)
ممنون
مشکل کجاست؟
.
اگر میخواهید سطر رو حذف کنید
DataGridView_tashih.Rows.Remove(DataGridView_tashi h.CurrentRow);
اگر میخواهید اطلاعات رو کامل حذف کنید باید از دیتابیس پاک کنید و دوباره لود کنید ویا روش های دیگه
درضمن اگر کنار هر سطر چک باکس بزارید که کاربر چندین سطر رو همزمان پاک کنه برنامه زیباتر میشه
فهميدم . شما ميخواي حالت انتقال داشته باشي. بالايي ها رو بفرستي پايين باز اگه خواستي پاييني هارو بفرستي بالا(گريد بالا).
براي حذف كاري كه modern گفت انجام بده .اما توي ديتابيس اين حذف ها رو اعمال نكن.
اطلاعات رو از تو داینیتاگرید1 بریز تو 2 و بعد از یک پاک کن
کافی مثلا ستون 1 دیتاگرید 1 رو با ستون 1دیتاگرید2 مساوی کنی
.
من تو یکی از پروژه هام اینکارو کردم
.
private void DataGridView_paye_DoubleClick(object sender, EventArgs e)
{
if (DataGridView_paye.Rows.Count > 0)
{
int gg = 0;
gg = DataGridView_payeKul.Rows.Count;
DataGridView_payeKul.Rows.Add(1);
DataGridView_payeKul.Rows[gg].Cells["name"].Value = DataGridView_paye.CurrentRow.Cells["name"].Value.ToString();
DataGridView_payeKul.Rows[gg].Cells["identity"].Value = DataGridView_paye.CurrentRow.Cells["identity"].Value.ToString();
DataGridView_paye.Rows.Remove(DataGridView_paye.Cu rrentRow);
}
else
{
ECP.PersianMessageBox.PersianMessageBox.Show("هی چ پایه تحصیلی برای انتخاب وجود ندارد", "", ECP.PersianMessageBox.PersianMessageBox.Buttons.OK , ECP.PersianMessageBox.PersianMessageBox.Icon.Infor mation, ECP.PersianMessageBox.PersianMessageBox.DefaultBut ton.Button1, false, "");
}
}
توجه : من برای این کل تابع رو میندازم تا شما رویدادش و ببینید
برای فهمیدن اینکه کدوم ستون رو کلیک کرده مثلا من میخام اگر رو ستونی که از نوع چک باس کلیک کردم ، چک باکسم کلیک بخوره و رنگش تغییر کنه
این کد رو خودتون تغییر بدید
.
private void DataGridView_tashih_CellClick(object sender, DataGridViewCellEventArgs e)
{
try
{
if (DataGridView_tashih.Rows.Count > 0 && lb_9.Text == "tashih" || lb_9.Text == "sabtenomre")
{
if (e.ColumnIndex == DataGridView_tashih.Columns["entekhab"].Index)
{
bool bb = false;
bb = Convert.ToBoolean(DataGridView_tashih.CurrentRow.C ells["entekhab"].Value);
if (bb == false)
{
DataGridView_tashih.CurrentRow.Cells["entekhab"].Value = true;
DataGridView_tashih.CurrentRow.Cells["entekhab"].Selected = false;
DataGridView_tashih.CurrentRow.Cells["name"].Style.BackColor = Color.Yellow;
DataGridView_tashih.CurrentRow.Cells["family"].Style.BackColor = Color.Yellow;
}
else
{
DataGridView_tashih.CurrentRow.Cells["entekhab"].Value = false;
DataGridView_tashih.CurrentRow.Cells["entekhab"].Selected = false;
DataGridView_tashih.CurrentRow.Cells["name"].Style.BackColor = Color.White;
DataGridView_tashih.CurrentRow.Cells["family"].Style.BackColor = Color.White;
}
}
}
}
catch (Exception ex)
{
ECP.PersianMessageBox.PersianMessageBox.Show(ex.Me ssage, "DataGridView_tashih_CellClickپيغام", ECP.PersianMessageBox.PersianMessageBox.Buttons.OK , ECP.PersianMessageBox.PersianMessageBox.Icon.Warni ng, ECP.PersianMessageBox.PersianMessageBox.DefaultBut ton.Button1, false, "");
}
}
در ضمن تو قسمت event اجزا میتونی اونارو پیدا کنید