الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل في كود التنقل بين السجلات

بدأه محمد فؤاد تركي في 15 سبتمبر 2012 · 6 رد · 2,832 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السادة الزملاء

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

أحتاج تعديل في كود التنقل بين السجلات بحيث لا يتم مليء الفورم وقت التحميل بالبيانات والمطلوب هو بدء العد عندما يتم الضغط علي next من السجل رقم واحد

هذا هو كود الاتصال بالجدول المطلوب

Dim da As New SqlDataAdapter("Select ID,StoreCode,StoreName from Stores ", sqlcon)
    Dim ds As New DataSet

وفي حدث التحميل يتم مليء الفورم بالبيانات ثم يتم التنقل بين السجلات

 Private Sub Stores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        da.Fill(ds)
        BindingSource1.DataSource = ds.Tables(0)
        ItemsNavigator.BindingSource = Me.BindingSource1
        TxtID.DataBindings.Add(New Binding("text", BindingSource1, "ID"))
        TEXCode.DataBindings.Add(New Binding("text", BindingSource1, "StoreCode"))
        TEXDes.DataBindings.Add(New Binding("text", BindingSource1, "StoreName"))
    End Sub

ولكن ليس هذا طلبي

والمطلوب أن يبدأ الترقيم في تحميل الفورم بصفر او بدون قيمة وأيضا لا يتم تعبئة مربعات النصوص

وعند الضغط علي زر Move next أو Move Last يبدأ الكود بمليء الفورم ويبدأ العد

وشكرا لكم

post-46243-021531500 1347711280_thumb.jp

المرفقات
1.jpg

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#2

توصلت للتالي

قد انشئت Private sub ووضعت فيها كود مليء Binding Nvigator

 private Sub fill()
        da.Fill(ds)
        bs.DataSource = ds.Tables(0)
        ItemsNavigator.BindingSource = Me.bs
    End Sub

ثم وضعت Private sub في حدث تحميل الفورم

Private Sub Stores_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        fill()
    End Sub

ثم وضعت كود مليء مربعات النصوص في هذا الحدث

Private Sub BindingNavigatorMoveNextItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveNextItem.Click
        TxtID.DataBindings.Clear()
        TxtID.DataBindings.Add(New Binding("text", ds, "ID"))
        TEXCode.DataBindings.Clear()
        TEXCode.DataBindings.Add(New Binding("text", bs, "StoreCode"))
        TEXDes.DataBindings.Clear()
        TEXDes.DataBindings.Add(New Binding("text", bs, "StoreName"))
    End Sub

فكانت النتيجة ان BindingNavigator تبدأ من الرقم 1 مع ان مربعات النصوص فارغة وعند الضغط علي next ينتقل للسجل رقم 2 والمطلوب الانتقال للسجل رقم 1 وليس 2

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

سأقوم بتوضيح المطلوب مرة أخري

لا يتم تعبئة الفورم "أقصد مربعات النصوص" وقت التحميل ولا تعبئة BindingNavigator

ويتم تحميل البيانات والتعامل معها فقط عند الضغط علي أي مفتاح من مفاتيح BindingNavigator

وبخلاف ذلك يظل الفورم فارغ من البيانات

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4

مرفق مثال مع قاعدة البيانات

فربما أجد اجابة

BindingNavigation.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

تم ايجاد حل لهذه المسألة

شكرا للجميع

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6

ممكن أخي محمد وضع الحل حتى تعم الفائدة

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#7

اخي محمد يمكنك عمل فانكشن لعمل DataBind وتقوم باستدعائها فقط عند النقر علي زر movenext

 

 

 

Private Sub BindDateToTextBox()


TxtID.DataBindings.Clear()
TxtID.DataBindings.Add(New Binding("text", ds, "ID"))
TEXCode.DataBindings.Clear()
Binding("text", bs, "StoreCode")) TEXDes.DataBindings.Clear()
TEXCode.DataBindings.Add(New
TEXDes.DataBindings.Add(New Binding("text", bs, "StoreName"))


End Sub

 

 

 

 

وتقوم باستدعائها هنا

 

 

 

Private Sub BindingNavigatorMoveNextItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveNextItem.Click
BindDateToTextBox()


End Sub

 

وفي حالة ربط البيانات ب Navigator  بعد التنقل ، قم بنقل  هذا السطر الى المكان المناسب 

 

 BindingNavigator1.BindingSource = Me.bs

 

 

وفي هذه الحالة لا تنسي ان تقوم بتفيل زر التنقل في حدث Form_Load 

 

 

 

BindingNavigatorMoveNextItem.Enabled=True

 

 

تحياتي

تم تعديل هذه المشاركة بواسطة omani في 25 مارس 2013 في 11:23

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

مواضيع مشابهة