منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
التنقل بين صفوف داتا قرايد فيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : التنقل بين صفوف داتا قرايد فيو (/showthread.php?tid=23296)



التنقل بين صفوف داتا قرايد فيو - nooralcown - 13-01-18

اريدكيفية التنقل بين السجلات اعلى واسفل والاول والاخير مع داتا قرايد فيو بالكود  
وكذلك تبديل  مواقع الاسطر بمعني نقل السطر للاعلى او للاسفل  
الموضوع فقط على البيانات المعروضه داخل الاداة ولا علاقة له بالجدول  


وشكرا للجميع


RE: التنقل بين صفوف داتا قرايد فيو - طالب برمجة - 13-01-18

كما ذكرت: الموضوع فقط على البيانات المعروضه داخل الاداة ولا علاقة له بالجدول

التنقل بين السجلات اعلى واسفل والاول والاخير مع داتا قرايد فيو بالكود
PHP كود :
'الأول
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    DGVMoveSelection(Me.DataGridView1, 0)
End Sub
'
السابق
Private Sub Button2_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button2.Click
    DGVMoveSelection
(Me.DataGridView1Me.DataGridView1.CurrentRow.Index 1)
End Sub
'التالي
Private Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
    DGVMoveSelection(Me.DataGridView1, Me.DataGridView1.CurrentRow.Index + 1)
End Sub
'
الأخير
Private Sub Button4_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button4.Click
    DGVMoveSelection
(Me.DataGridView1Me.DataGridView1.Rows.Count 1)
End Sub
Sub DGVMoveSelection
(ByVal dgv As DataGridViewByVal rowindex As Integer)
 
   If rowindex 0 Then rowindex 0
    If rowindex 
> (dgv.Rows.Count 1Then rowindex = (dgv.Rows.Count 1)
 
   dgv.ClearSelection()
 
   dgv.CurrentCell dgv.Rows(rowindex).Cells(0)
 
   dgv.Rows(rowindex).Selected True
End Sub 


تبديل مواقع الاسطر
PHP كود :
Private Sub Button5_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button5.Click
    
'تبديل بين السطر الثاني والسطر السادس
    DGVRowsSwap(Me.DataGridView1, 1, 5)
End Sub
Sub DGVRowsSwap(ByVal dgv As DataGridView, ByVal row1index As Integer, ByVal row2index As Integer)
    Dim r1 As DataGridViewRow = dgv.Rows(row1index)
    Dim r2 As DataGridViewRow = dgv.Rows(row2index)
    dgv.Rows.Remove(r1)
    dgv.Rows.Insert(row2index, r1)
    dgv.Rows.Remove(r2)
    dgv.Rows.Insert(row1index, r2)
End Sub 



RE: التنقل بين صفوف داتا قرايد فيو - عبدالله الدوسري - 13-01-18

هذة طريقة جميله 
إذا كنت تريد مثل هذة الأدوات
بدون أن تكتب سطر واحد
هذا كنترول اسمة bindingnavigator 

[attachment=16694]

فيديو للشرح : (أرجوا مشاهدة الفيديو)
الفيديو يشرح ربط البرنامج بقاعدة بيانات , لكن المهم ستجد الأداة التي إسمها bindingnavigator 





RE: التنقل بين صفوف داتا قرايد فيو - nooralcown - 13-01-18

اشكركم من كل قلبي

استعملت هذا الكود لتحريك الصفوف وهو من مساعدتكم لي ( نقل الصف الى اسفل )
Private Sub Button11_Click_7(sender As Object, e As EventArgs) Handles Button11.Click
'تبديل بين السطر الثاني والسطر السادس
DGVRowsSwap(Me.DataGridView1, DataGridView1.CurrentRow.Index, DataGridView1.CurrentRow.Index + 1)

End Sub
Sub DGVRowsSwap(ByVal dgv As DataGridView, ByVal row1index As Integer, ByVal row2index As Integer)
Dim r1 As DataGridViewRow = dgv.Rows(row1index)
Dim r2 As DataGridViewRow = dgv.Rows(row2index)
dgv.Rows.Remove(r1)
dgv.Rows.Insert(row2index, r1)
dgv.Rows.Remove(r2)
dgv.Rows.Insert(row1index, r2)
End Sub
المشكلة الان اريد ان اعمل الانتقال للاعلي
استعملت نفس الشي وكتبت الكود هذا
DGVRowsSwap(Me.DataGridView1, DataGridView1.CurrentRow.Index, DataGridView1.CurrentRow.Index - 1)

الكود يعمل لكن لا ينتقل التحديدالى الصف الجديد


RE: التنقل بين صفوف داتا قرايد فيو - طالب برمجة - 14-01-18

جربت الكود وهو يعمل جيدا

ولن ينقل صف الى السطر المخصص للإضافة بيانات جديدة (الموجود في اسفل أسطر البيانات)

لن يعمل على داتاجريد مرتبط بالبيانات عن طريق DataSource
وأنت ذكرت في بداية موضوعه أن الداتاجريد لا علاقة له بالجدول، وقد فهمت من هذا أنه غير مرتبط


RE: التنقل بين صفوف داتا قرايد فيو - nooralcown - 17-01-18

ما اقصدة اخي الفاضل ان تبديل الصفوف للاسفل شغال بينما للاعلى يعمل ولكن لا ينتقل المؤشر مع تبديل السطر