میخوام داخل فرمم یک گرید ویو و یگ دکمه قرار بدم.هر سطر گریدویو یک چک باکس داره که اگر تیکش زده شد و بعد دکمه فشرده شد،فرم دوباره لود بشه و سطرهایی که تیک شده بود حذف بشن.لطفا منوراهنمایی کنیدواگه میشه کد مربوطه رو برام بنویسید.خیلی دنبالش گشتم.مرسی
میخوام داخل فرمم یک گرید ویو و یگ دکمه قرار بدم.هر سطر گریدویو یک چک باکس داره که اگر تیکش زده شد و بعد دکمه فشرده شد،فرم دوباره لود بشه و سطرهایی که تیک شده بود حذف بشن.لطفا منوراهنمایی کنیدواگه میشه کد مربوطه رو برام بنویسید.خیلی دنبالش گشتم.مرسی
foreach(DataGridViewRow row in datagridview1.Rows)
{ if (row.Cells["chk"].Value.Equals(1))
{
//دستورات حذف سطرها
}
}
خیلی ممنون از پاسخ شما.اما من دستور حذف این سطر های تیک خورده رو هم میخوام.
datagridview1.Rows.Remove(row);
اما این دستور که توی دیتابیسم اعمال نمیشه؟؟؟؟
اگر قرار است سطرها تنها از DataGridView حذف شود:
dataGridview1.Rows.Remove(row);
و اگر قرار است از پایگاه داده هم حذف شوند، دستورات حذف از پایگاه داده را مینویسید.به عنوان مثال یک تابع حذف بنویسید و در جای موردنظر تابع را فراخوانی کنید:
Public void DelRows(int id)
{
SqlConnection conn = new SqlConnection("Connection_String");
Sqlcommand cmd = new Sqlcommand();
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "Delete from Your_Table where YourIdField="+id;
cmd.ExecuteNonquery();
}
خب من میخوام آیدی سطری که چک باکسش تیک خورده حذف بشه چطور اونو توی تابع ام اعمال کنم؟؟
شما احتمالا نمیخواین اون id حذف بشه،میخواین سطری که اون id رو داره حذف بشه.وقتی گریدتون رو bind کردین باید یکی از ستون هاتون ستون unique تون باشه که از طریق اون بتونین به اطلاعات اون سطر دسترسی داشته باشین.توی دستور delete که بالا نوشتم YourIdField همون فیلد unique است.به تابع هم id سطر تیک خورده رو پاس میدین.اگه مشکلی بود بگین...
اون ایدی هم میخوام حذف بشه.اما وقتی این کدهایی که گفتین رو اعمال کردم همه آیدی ها رو حذف می کنه
شرط where رو برای دستور delete درست نوشتین؟اگر درسته کدتونو بذارین...
if (row.Cells["chk"].Value.Equals(1))[CSHARP]
این کد رو توی دکمه اعمال میکنم اما ستون chk رو نمیشناسه
سلام
شما باید اسم ستون خودتون رو به جای chk بنویسید یا اینکه شماره ایندکس ستون مورد نظر رو داخل براکت بنویسید
نوشتم اما بازهم ارور میده که نام ستون رو پیدا نمیکنه
اسم ستونم همون chk هستش
چه خطایی میده؟پرینت اسکرین خطا رو بذارین...