تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] التوجه الى سجل مُحدد من الـ DataSource
#1
السلام عليكم ورحمة الله وبركاته

قمت بعمل برنامج باستخدام قاعدة بيانات اكسس، ووقف فى طريقى شىء اعتقد انه بسيط.
- قمت بربط الفورم بقاعدة البيانات عن طريق اضافة قاعدة البيانات لـ DataSource المشروع وليس ADO..
يعنى اضفت Data Source من قائمة Project ثم Add New DataSource
وسحبت الجدول من الـ Data Source للفورم على صورة Details ( تظهر البيانات بداخل TextBox )
- وضعت زر للبحث في ذلك الفورم ( زر البحث يفتح شاشة جديدة )
الشاشة الجديدة تجد فيها DataGridView بها بعض بيانات الجدول ( ومنها "كود العضو" وهو أول عمود )

المطلوب:
كود بداخل الحدث DataGridView1_CellDoubleClick ينقلنى للصف الذى تم الضغط عليه فى الفورم الأولى

* يُفضل وجود مشروع بسيط لأفهم الفكرة منه
الرد }}}
تم الشكر بواسطة:
#2
1_
http://vb4arb.com/vb/thread-13461.html
2_
http://vb4arb.com/vb/thread-13198.html
تجد أمثلة تلبي طلبك واكثر !!!
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة:
#3
السلام عليكم ورحمة الله

أخي يوسف

هذه الكود على أساس اسم الجدول Details
PHP كود :
Dim index As Integer DetailsBindingSource.Find("code"val(TextBox1.Text))
DetailsBindingSource.Position index 
الرد }}}
تم الشكر بواسطة:
#4
(12-10-15, 01:28 AM)مهموم كتب : السلام عليكم ورحمة الله

أخي يوسف

هذه الكود على أساس اسم الجدول Details
PHP كود :
Dim index As Integer DetailsBindingSource.Find("code"val(TextBox1.Text))
DetailsBindingSource.Position index 

تمام
هذا ما كنت اريده بالضبط
سؤال آخر متعلق بنفس الامر
لو اردت عرض اكثر من سجل حسب الكود
بمعنى مثلًا الجدول فيه 100 سجل..
اريد فقط بعد الضغط على زر يظهر الكود 1 والكود 2 والكود 3
ويتم التنقل بين هذه السجلات فقط عن طريق زر السابق والتالى ، بشرط انه عند الضغط على زر الحفظ يتم حفظ التعديلات التى اجريت على الثلاث سجلات مع عدم حذف باقى السجلات..
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم ورحمة الله

أخي يوسف

يمكنك في هذه الحالة استخدام الأمر Filter وهذا هو الكود
PHP كود :
DetailsBindingSource.Filter "code in (1,2,3)" 
الرد }}}
تم الشكر بواسطة: Youssef1313
#6
شكرًا جدًا لك.. Smile

لدى سؤال آخر
عندى BindingNavigator وفيه علامة للحذف وتقوم بالحذف تلقائيًا
اريد وضع شرط للحذف
If MessageBox.Show("هل أنت متأكد انك تريد حذف السجل؟", "تأكيد الحذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
'يتم الحذف
End If
الرد }}}
تم الشكر بواسطة:
#7
السلام عليكم ورحمة الله

أخي يوسف

أهم شيء أولا يجب إلغاء محتوى الخاصية DeleteItem لل BindingNavigator باختيار None عن طريق خصائصها
أو وضع هذا الأمر في حدث Form1_Load
PHP كود :
BindingNavigator1.DeleteItem Nothing 

ثانياً هذا كود حدث الضغط على علامة الحذف في BindingNavigator
PHP كود :
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles BindingNavigatorDeleteItem.Click
    
If MessageBox.Show("هل أنت متأكد انك تريد حذف السجل؟""تأكيد الحذف"MessageBoxButtons.YesNoMessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
        DetailsBindingSource
.RemoveCurrent()
    
End If
End Sub 
الرد }}}
تم الشكر بواسطة: أبو عمر , Youssef1313
#8
جميل جدًا جدًا.. اردت شىء آخر وهو التعديل برمجيًا على أمر INSERT INTO الخاص بالـ TableAdapter حيث يرسل آخر عمود قيمة ثابتة
الرد }}}
تم الشكر بواسطة:
#9
السلام عليكم ورحمة الله

أخي يوسف

عدل قيمة CommandText لل InsertCommand
وهذا مثال ل(حيث يرسل آخر عمود قيمة ثابتة)
PHP كود :
DetailsTableAdapter.Adapter.InsertCommand.CommandText "Insert Into `Details` (`col1`, `col2`, `col3`) Values (?, ?, 123)" 
الرد }}}
تم الشكر بواسطة: Youssef1313
#10
جميل جدًا Smile
الرد }}}
تم الشكر بواسطة:


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم