PDA

View Full Version : سوال: چک کردن خالی بودن بانک و نمایش پیغام خطا



hadimtn
دوشنبه 07 اردیبهشت 1394, 23:03 عصر
میخوام وقتی همه ی داده ها حذف شدن و هیچ رکوردی برای حذف کردن وجود نداره، پیغام خطا نمایش داده بشه!

کد زیر رو چه جوری اصلاح کنم؟!







private void btn_Delete_object_Click(object sender, EventArgs e)
{
int SelectedIndexId = int.Parse(dataGridView1.CurrentRow.Cells["کد_کالا"].Value.ToString());
if (SelectedIndexId==0)
{
MessageBox.Show("هیچ اطلاعاتی برای حذف شدن وجود ندارد", "اخــطار");
}
else
{
var db = new FLinqDataContext();
var DelQuery = db.ObjectTables.Where(c => c.کد_کالا == SelectedIndexId);
if (DelQuery.Count() != 0)
{
db.ObjectTables.DeleteOnSubmit(DelQuery.Single());
db.SubmitChanges();
dataGridView1.DataSource = db.ObjectTables;
}
}
}




اینجوری هم نوشتم نشد:




private void btn_Delete_object_Click(object sender, EventArgs e)
{
int SelectedIndexId = int.Parse(dataGridView1.CurrentRow.Cells["کد_کالا"].Value.ToString());


var db = new FLinqDataContext();
var DelQuery = db.ObjectTables.Where(c => c.کد_کالا == SelectedIndexId);
if (DelQuery.Count() == 0)
{
MessageBox.Show("هیچ رکوردی برای حذف کردن وجود ندارد", "اخطــار");
}
else
{
db.ObjectTables.DeleteOnSubmit(DelQuery.Single());
db.SubmitChanges();
dataGridView1.DataSource = db.ObjectTables;
}


}

god of war
دوشنبه 07 اردیبهشت 1394, 23:25 عصر
سلام
برای حذف کردن میتونی تعداد سطرهای gridview رو چک کنی
شما مقدار کدد کالا رو چک کردی که جواب نمیگیری
(if(dataGridView1.Rows.Count==0

hadimtn
دوشنبه 07 اردیبهشت 1394, 23:48 عصر
برای حذف کردن مشکلی ندارم ... میخوام اگر همه ی رکورد ها حذف شد و کاربر باز هم کلید حذف رو فشار داد، پیام نشون بده!

hadimtn
دوشنبه 07 اردیبهشت 1394, 23:51 عصر
سلام
برای حذف کردن میتونی تعداد سطرهای gridview رو چک کنی
شما مقدار کدد کالا رو چک کردی که جواب نمیگیری
(if(dataGridView1.Rows.Count==0

ممنون. همون کاری که گفتین رو انجام دادم:


int SelectedIndexId = int.Parse(dataGridView1.CurrentRow.Cells["کد_کالا"].Value.ToString());



میخوام. وقتی همه ی رکوردها حذف شدن و باز هم کلید حذف فشار داده شد پیغام بده.

god of war
دوشنبه 07 اردیبهشت 1394, 23:59 عصر
الان حل شد مشکل ؟

hadimtn
سه شنبه 08 اردیبهشت 1394, 19:26 عصر
الان حل شد مشکل ؟

نه، متاسفانه! :ناراحت:

تو اون کد اولیه به خیال خودم اینجوری نوشتم که اگه SelectIndexId صفر هست پیغام خطا وگرنه عملیات حذف...
.
منتظرم ..... .... ... .. .

بیتا حکمت
سه شنبه 08 اردیبهشت 1394, 19:49 عصر
سلام . کدی که در پست شماره 4 نوشتین با کدی که که در پست شماره 2 توسط god of war پیشنهاد شده یکی نیست .

hadimtn
شنبه 12 اردیبهشت 1394, 13:20 عصر
خوب الآن یکی این کد رو اصلاح کنه:

if (dataGridView1.Rows.Count == 0 )
{
MessageBox.Show("هیچ رکوردی برای حذف کردن وجود ندارد", "اخطــار");
}

else
{
var db = new FLinqDataContext();
int SelectedIndexId = int.Parse(dataGridView1.CurrentRow.Cells["کد_کالا"].Value.ToString());
var DelQuery = db.ObjectTables.Where(c => c.کد_کالا == SelectedIndexId);
db.ObjectTables.DeleteOnSubmit(DelQuery.Single());
db.SubmitChanges();
dataGridView1.DataSource = db.ObjectTables;
}


اگر سطرهای دیتاگرید = 0 بود ((پایگاه داده = خالی)) پیغام بده،
در غیراینصورت
حذف کن!

* * * * * * * * * * * * * * * * * * * * * * *
با این کدی که من نوشتم تا وقتی که اطلاعاتی برای حذف کردن وجود داره حذف میکنه و ولی وقتی خالی شد پیغام رو نشون نمیده:

130806

hadimtn
یک شنبه 13 اردیبهشت 1394, 14:27 عصر
خب جواب رو خودم میگم:

مشخصه AllowUserToAddRows رو باید false کنیم تا اون یک سطر اضافه ای که پایین تر از همه ی داده ها جهت اضافه کردن توسط خود کاربر آماده شده از بین بره تا شرط جستجو درست بشه! یا اینکه اون یک سطر اضافه رو هم توی شرطمون بیاریم.
یا علی.