منتديات روكشا     َولَوْلَا إِذْ دَخَلْتَ جَنَّتَكَ قُلْتَ مَا شَاءَ اللَّهُ لَا قُوَّةَ إِلَّا بِاللَّه

الرئيسية |  التسجيل  |  مركز رفع الملفات  |  الاتصال بنا  

 



العودة   منتديات روكشا > المنتدي التخصصي > قسم التصاميم والبرمجة والجرافيكس والميديا > انشاء وتصميم وبرمجة البرامج

الملاحظات

انشاء وتصميم وبرمجة البرامج برنامج الوورد اكسس اكسيل بوربوينت فيجوال بيسك برامج محاسبة برامج ادارة وتنظيم حسابات تنسيق الملفات

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 03-23-2019, 01:41 AM

الصورة الرمزية الفارس

الفارس

.:: عضـو متميز ::.

 
تاريخ التسجيل: Feb 2019
الدولة: مصر
المشاركات: 837
معدل تقييم المستوى: 12
الفارس المعروف لدى الجميع بالتميز العالىالفارس المعروف لدى الجميع بالتميز العالىالفارس المعروف لدى الجميع بالتميز العالىالفارس المعروف لدى الجميع بالتميز العالىالفارس المعروف لدى الجميع بالتميز العالىالفارس المعروف لدى الجميع بالتميز العالى
الفارس غير متواجد حالياً
جديد اكواد كائن BnStudant لاستخدامه للتنقل بين السجلات فقط

 

السلام عليكم ورحمه الله وبركاته

اكواد كائن BnStudant لاستخدامه للتنقل بين السجلات فقط

ادرج نموذج و سميه Form_Studants و اضف اليه العناصر كما في الصورة التالية




اضف له كائن BindingSource و سميه BnStudant سوف نستخدمه للتنقل بين السجلات فقط

نعرف بعض المتغيرات في بداية النموذج

PHP كود

:
كود PHP:
Public Class Form_Studants
    Dim Dt_Studant
Dt_Payes As New DataTable
    Dim Studant 
As New Tb_Studant
    Dim Payes 
As New Tb_Payes
  
    Dim Add_Edit 
As Boolean False 

جدول يحمل بيانات الطلاب و جدول يحمل بيانات الدفعات
نعرف نسخة لكل كلاس لدينا
و نعرف متغير بولياني مهمته الكشف عن العملية هل هي اضافة ام تعديل

تحميل النموذج
PHP كود :

كود PHP:
   Private Sub Form_Studants_Load(sender As ObjectAs EventArgsHandles MyBase.Load

        Dt_Studant 
Studant.FillTable
        BnStudant
.DataSource Dt_Studant
        Data_Bind
()

        Try
            
Dt_Payes Payes.FillTable(CType(Lb_ID.TextInteger))
            
DG_Payes.DataSource Dt_Payes
        
Catch ex As Exception

        End 
Try
    
End Sub 
لا شيئ سوى ملئ البيانات بالاعتماد على الكلاسات السابقة

اضافة طالب
PHP كود

:
كود PHP:
   'زر اضافة طالب
    Private Sub Btn_AddStud_Click(sender As Object, e As EventArgs) Handles Btn_AddStud.Click
        Txt_Name.Clear()
        Txt_Phone.Clear()
        Txt_Name.Focus()
        Dt_Payes.Clear()
        '
        
Btn_AddStud.Enabled False
        Btn_Delete
.Enabled False
        Btn_EditStud
.Enabled False
        Btn_Save
.Enabled True
        Btn_First
.Enabled False
        Btn_Last
.Enabled False
        Btn_Next
.Enabled False
        Btn_Prev
.Enabled False
        
'
        DG_Payes.ReadOnly = False
        Add_Edit = True
    End Sub 
الخطوات التي تجري
مسح مربعات النصوص و جدول الدفعات
تعطيل الازارا و تمكين قريد الدفعات للاضافة
و اعطاء قيمة للمتغير البولياني ان الحالة اضافة


تعديل طالب
PHP كود

:
كود PHP:
   'زر تعديل طالب
    Private Sub Btn_EditStud_Click(sender As Object, e As EventArgs) Handles Btn_EditStud.Click
        Btn_AddStud.Enabled = False
        Btn_Delete.Enabled = False
        Btn_EditStud.Enabled = False
        Btn_Save.Enabled = True
        '
        
Btn_First.Enabled False
        Btn_Last
.Enabled False
        Btn_Next
.Enabled False
        Btn_Prev
.Enabled False
        
'
        DG_Payes.ReadOnly = False
        Add_Edit = False
    End Sub 
نفس زر الاضافة و لكن المتغير البولياني حمل القيمة False دالاً على ان العملية هي تحديث بيانات

زر الحفظ
PHP كود :

كود PHP:
   'زر حفظ الكل
    Private Sub Btn_Save_Click(sender As Object, e As EventArgs) Handles Btn_Save.Click
        If Add_Edit = True Then
            Bind_Studant()
            Lb_ID.Text = Studant.AddNew(True)
        Else
            Bind_Studant()
            Studant.Update(CInt(Lb_ID.Text), True)
        End If
        Save_Payes()

        Btn_AddStud.Enabled = True
        Btn_Delete.Enabled = True
        Btn_EditStud.Enabled = True
        Btn_Save.Enabled = False
        '
        
Btn_First.Enabled True
        Btn_Last
.Enabled True
        Btn_Next
.Enabled True
        Btn_Prev
.Enabled True
        
'
        DG_Payes.ReadOnly = True
        Add_Edit = False
    End Sub 
الخطوات
فحص حالة المتغير البولياني اذا كان True يعني اضافة
شحن جدول الطلاب بالبيانات ثم اضافة بيانات الطالب و استقبال القيمة الراجعة منه و التي تمثل رقم الطالب في Lable المسمى Lb_ID
و في حال كانت العملية تعديل يتم استدعاء دالة التحديث الخاصة بالطلاب
و اخيراً حفظ الدفعات (اجراء الدفعات سيرد لاحقاً)
و تعطيل الازرار و ابقاء الحالة على تعديل


حذف طالب مع دفعاته
PHP كود :
كود PHP:

       
'حذف طالب
    Private Sub Btn_Delete_Click(sender As Object, e As EventArgs) Handles Btn_Delete.Click
        If Dt_Payes.Rows.Count > 0 Then
            Payes.Delete_Multi(CType(Lb_ID.Text, Integer))
        End If
        Dim pos As Integer = BnStudant.Position

        Studant.Delete(CType(Lb_ID.Text, Integer))
        '
اعادة لملئ
        Dt_Studant 
Studant.FillTable
        BnStudant
.DataSource Dt_Studant

        
If BnStudant.Count 0 Then
            BnStudant
.Position pos 1
        End 
If
    
End Sub 


اجراء شحن جدول الطلاب
PHP كود :

كود PHP:
   'شحن جدول الطلاب
    Private Sub Bind_Studant()
        Studant = New Tb_Studant With {.Stu_Name = Txt_Name.Text,
                                       .Stu_Phone = Txt_Phone.Text,
                                       .Date_Affiliation = DT_Affiliation.Value}
    End Sub 
اسناد قيم عادية لحقول كلاس الطلاب

شحن جدول الدفعات

PHP كود :
كود PHP:
   'شحن جدول الدفعات
    Private Sub Bind_Payes(Row As DataRow)
        Payes = New Tb_Payes With {.Principal_Payment = Row.Item("Principal_Payment"),
                                   .Payment_Date = Row.Item("Payment_Date"),
                                   .Stu_ID = Lb_ID.Text}
    End Sub 
نفس الطريقة السابقة سوى انها تحمل وسيطة تمثل الصف الذي نريد العمل عليه من جدول الدفعات

اجراء حفظ الدفعات


PHP كود :
كود PHP:

   
''' <summary>
    ''' 
حفظ او تعديل او حذف دفعات
    
''' </summary>
    ''' 
<param name="Add_Update">If is True Then The case is Add New , Else The Case is Update</param>
    Private 
Sub Save_Payes()
        If 
Dt_Payes.Rows.Count 0 Then
            
For Each row As DataRow In Dt_Payes.Rows
                Bind_Payes
(row)
                If 
row.RowState DataRowState.Modified Then
                    Payes
.Update(row("Pay_ID"))
                ElseIf 
row.RowState DataRowState.Added Then
                    row
.Item("Pay_ID") = Payes.AddNew(False)
                    
row.Item("Stu_ID") = Lb_ID.Text
                
ElseIf row.RowState DataRowState.Deleted Then
                    Payes
.Delete(row.Item("Pay_ID"DataRowVersion.Original))
                
End If
            
Next
        End 
If
    
End Sub 

لاننا نتعامل مع كل السطور في DataGridView و لا ندري عن المستخدم هل اضاف ام عدل ام حذف
لذا استوجب منا ان نفحص حالة كل سطر من سطور جدول الدفعات و معرفة حالته عبر الخاصية DataRowState و نرسل الدالة المناسبة مع حالة كل سطر بعد تعبئته ببيانات الصف المحدد
رد مع اقتباس
قديم 03-23-2019, 01:30 PM   #2

ابن الوليد

.:: ادارة المنتدي ::.

الصورة الرمزية ابن الوليد

تاريخ التسجيل: Nov 2018
الدولة: مصر
المشاركات: 1,680
معدل تقييم المستوى: 10
ابن الوليد has much to be proud ofابن الوليد has much to be proud ofابن الوليد has much to be proud ofابن الوليد has much to be proud ofابن الوليد has much to be proud ofابن الوليد has much to be proud ofابن الوليد has much to be proud ofابن الوليد has much to be proud of
إرسال رسالة عبر MSN إلى ابن الوليد إرسال رسالة عبر Yahoo إلى ابن الوليد إرسال رسالة عبر Skype إلى ابن الوليد
افتراضي

بيض الله رجهك تحفة في الشرح

نفك بك الله في الخير
__________________

ابن الوليد متواجد حالياً  

رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
كتاب شرح تفصيلى لانشاء حساب مستخدمين لجميع اصدارات الاكسس بدون اكواد ابن الوليد انشاء وتصميم وبرمجة البرامج 1 12-23-2018 08:02 PM

 

RSS RSS 2.0 XML MAP HTML

الساعة الآن 10:40 PM

نبذة عن المنتدى

روابط مفيدة

إعلانات نصية

روابط الموقع

منتديات روكشا لتقنية المعلومات تقدم كل ما هو جديد ومفيد في عالم البرامج سواء جاهزة أو طرق وشروحات برمجة وتصميم وسوف تجدون أقسام عديدة ومختصة لكل ما تبحث عنه



Powered by vBulletin® Copyright ©2000 - 2019,