11-07-17, 08:50 PM
السلام عليكم و رحمة الله و بركاته
الاخ ابو راشد ,
انت لم تقم باقفال الاجراء في حال كانت بعض البيانات فارغة او ناقصة
كذلك سيتم حفظ فواتير بدون تفاصيل بالنظر للكود لديك و بالتالي بيانات بلا معنى
و الافضل ان يكون لديك فحص قبل الادخال
كما يلي
اولاً ليكن لدي مثل هذه الدالة تختبر الاسطر الفارغة
و من ثم يمكنني توظيفها في زر الحفظ كما يلي
لتحصل على عمود الاجمالي
ابتعد عن الاسماء العربية ؟؟؟
بالتوفيق .
الاخ ابو راشد ,
انت لم تقم باقفال الاجراء في حال كانت بعض البيانات فارغة او ناقصة
كذلك سيتم حفظ فواتير بدون تفاصيل بالنظر للكود لديك و بالتالي بيانات بلا معنى
و الافضل ان يكون لديك فحص قبل الادخال
كما يلي
اولاً ليكن لدي مثل هذه الدالة تختبر الاسطر الفارغة
PHP كود :
private bool Checkthis(int i)
{
if (String.IsNullOrEmpty(dgv_Orders.Rows [i].Cells [1].Value.ToString()) || String.IsNullOrEmpty(ID_Orders.Text) || String.IsNullOrEmpty(dgv_Orders.Rows [i].Cells [3].Value.ToString())
|| String.IsNullOrEmpty(dgv_Orders.Rows [i].Cells [4].Value.ToString()))
{
return false;
}
else
{
return true;
}
}
PHP كود :
private void btn_save_Click(object sender, EventArgs e)
{
if (ID_Orders.Text == string.Empty || datetim.Text == string.Empty || name_Customer.Text == string.Empty
|| TOTAL.Text == string.Empty /*|| txt_PAID.Text == string.Empty || txt_SURPLUS.Text == string.Empty */|| dgv_Orders.Rows.Count < 1)
{
MessageBox.Show("لايمكن حفظ الفاتورة خالية من المعلومات", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
int p = 0;
for (int i = 0; i < dgv_Orders.Rows.Count - 1; i++)
{
if (Checkthis(i) == true)
{
p += 1;
ORD.ADD_ORDERS_DETAILS(dgv_Orders.Rows[i].Cells[1].Value.ToString(),
Convert.ToInt32(ID_Orders.Text),
Convert.ToInt32(dgv_Orders.Rows[i].Cells[3].Value),
dgv_Orders.Rows[i].Cells[4].Value.ToString());
}
}
if (p>0)
{
ORD.ADD_ORDERS(Convert.ToInt32(ID_Orders.Text), datetim.Value, Convert.ToInt32(ID_Customer.Text), note.Text, txtSALESMAN.Text, TOTAL.Text, txt_PAID.Text, txt_SURPLUS.Text);
MessageBox.Show("تم حفظ الفاتورة بنجاح", "الحفظ");
btnAdd.Enabled = true;
btn_save.Enabled = false;
print.Enabled = true;
note.Enabled = false;
datetim.Enabled = false;
ID_Customer.Enabled = false;
name_Customer.Enabled = false;
comb_type_Customer.Enabled = false;
txtSALESMAN.Enabled = false;
dgv_Orders.Enabled = false;
TOTAL.Enabled = false;
txt_PAID.Enabled = false;
txt_SURPLUS.Enabled = false;
note.Clear();
ID_Customer.Clear();
name_Customer.Clear();
comb_type_Customer.Clear(); ;
txtSALESMAN.Clear();
TOTAL.Clear();
txt_PAID.Clear();
txt_SURPLUS.Clear();
Dt.Clear();
}
}
لتحصل على عمود الاجمالي
PHP كود :
DataColumn Qt = new DataColumn {Caption="الكمية" ,ColumnName= "Qt", DataType=Type.GetType("System.Decimal") };
DataColumn Price = new DataColumn { Caption = "السعر", ColumnName = "Price", DataType = Type.GetType("System.Decimal") };
DataColumn Totals = new DataColumn { Caption = "الاجمالي", ColumnName = "Totals", DataType = Type.GetType("System.Decimal"), Expression = "Price * Qt" };
Dt.Columns.Add(Qt);
Dt.Columns.Add(Price);
Dt.Columns.Add(Totals);
dgv_Orders.DataSource = Dt;
بالتوفيق .