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

تحديث dataview مرتبطة بها تاجريد بعد عملية الإبحار

بدأه حسان بشير في 15 نوفمبر 2011 · 2 رد · 560 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخواني الكرام ..

السلام عليكم ورحمة الله وبركااته ،،، وكل عام وأنتم بخير :

أرجوا إفادتي في المشكلة التالية :

لدي تكست بوكس وداتا جريد في فورم واحد

التكست بوكس مرتبط بحقل رقم الطالب في جدول بيانات الطلاب .

أما الداتاجريد فلها مصدر بيانات dataview

الــ dataview تأخذ بياناتها من نفس الـ dataset التي تأخذ منها التكست بوكس ولكن من جدول إجازات الطلاب ، ولها فلتر عن طريق قيمة حقل التكست بوكس .

لدي زر للانتقال إلى السجل التالي .

السؤال : النتائج تظهر لدي كما أتوقع تماماً ؛ لكن لماذا لا يتم تحديث البيانات في الداتاجريد عند النقر على زر التالي ، مع العلم بأن البيانات في الحقل تكست بوكس تتغير ويظهر رقم الطالب التالي ؟

لمزيد من التوضيح ؛ هذا هو الكود الذي كتبته :

Imports System.Data
Imports System.Data.OleDb
Public Class Form1
	Dim constr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\دروس\hafeez .accdb"
	Dim co As New OleDbConnection(constr)
	Dim ds1 As New DataSet
	Dim sql1 As String = "select * from StData"
	Dim sql2 As String = "select * from Ijazat"
	Dim da1 As New OleDbDataAdapter(sql1, co)
	Dim da2 As New OleDbDataAdapter(sql2, co)
	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    	co.Open()
    	ds1.Clear()
    	da1.Fill(ds1, "StData")
    	da2.Fill(ds1, "Ijazat")
    	co.Close()
    	Me.TextBox1.DataBindings.Add("text", ds1, "StData.StNo")
    	Me.TextBox2.DataBindings.Add("text", ds1, "StData.StNam")
    	Dim dv1 As DataView
    	dv1 = New DataView(ds1.Tables(1))
    	dv1.RowFilter = "StNo=" & Me.TextBox1.Text & ""
    	Me.DataGridView1.DataSource = dv1

	End Sub

	Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    	Me.BindingContext(ds1, "StData").Position += 1
	End Sub
End Class

تم تعديل هذه المشاركة بواسطة حسان بشير في 15 نوفمبر 2011 في 16:37

سبحان الله وبحمده سبحان الله العظيم

#2
حسان بشير كتب:

إخواني الكرام ..

السلام عليكم ورحمة الله وبركااته ،،، وكل عام وأنتم بخير :

أرجوا إفادتي في المشكلة التالية :

لدي تكست بوكس وداتا جريد في فورم واحد

التكست بوكس مرتبط بحقل رقم الطالب في جدول بيانات الطلاب .

أما الداتاجريد فلها مصدر بيانات dataview

الــ dataview تأخذ بياناتها من نفس الـ dataset التي تأخذ منها التكست بوكس ولكن من جدول إجازات الطلاب ، ولها فلتر عن طريق قيمة حقل التكست بوكس .

لدي زر للانتقال إلى السجل التالي .

السؤال : النتائج تظهر لدي كما أتوقع تماماً ؛ لكن لماذا لا يتم تحديث البيانات في الداتاجريد عند النقر على زر التالي ، مع العلم بأن البيانات في الحقل تكست بوكس تتغير ويظهر رقم الطالب التالي ؟

لمزيد من التوضيح ؛ هذا هو الكود الذي كتبته :

Imports System.Data
Imports System.Data.OleDb
Public Class Form1
	Dim constr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\دروس\hafeez .accdb"
	Dim co As New OleDbConnection(constr)
	Dim ds1 As New DataSet
	Dim sql1 As String = "select * from StData"
	Dim sql2 As String = "select * from Ijazat"
	Dim da1 As New OleDbDataAdapter(sql1, co)
	Dim da2 As New OleDbDataAdapter(sql2, co)
	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    	co.Open()
    	ds1.Clear()
    	da1.Fill(ds1, "StData")
    	da2.Fill(ds1, "Ijazat")
    	co.Close()
    	Me.TextBox1.DataBindings.Add("text", ds1, "StData.StNo")
    	Me.TextBox2.DataBindings.Add("text", ds1, "StData.StNam")
    	Dim dv1 As DataView
    	dv1 = New DataView(ds1.Tables(1))
    	dv1.RowFilter = "StNo=" & Me.TextBox1.Text & ""
    	Me.DataGridView1.DataSource = dv1

	End Sub

	Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    	Me.BindingContext(ds1, "StData").Position += 1
	End Sub
End Class

السلام عليكم

الفلتر دا dv1.RowFilter = "StNo=" & Me.TextBox1.Text & ""

موجود في Load

لكن تحت الزرار لازم الفلتر يشعر بال Id الجديد

يعنى اكتب الفلتر تانى تحت الزرار

الأساليب كتبر في النقطة دى لكن انا بتكلم على اساس كودك

 Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.BindingContext(ds1, "StData").Position += 1
dv1.RowFilter = "StNo=" & Me.TextBox1.Text & ""

        End Sub

وخليى dv1 على مستوى الفورمة

1
#3
اقتباس
Principle كتب:

السلام عليكم

الفلتر دا dv1.RowFilter = "StNo=" & Me.TextBox1.Text & ""

موجود في Load

لكن تحت الزرار لازم الفلتر يشعر بال Id الجديد

يعنى اكتب الفلتر تانى تحت الزرار

الأساليب كتبر في النقطة دى لكن انا بتكلم على اساس كودك

 Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.BindingContext(ds1, "StData").Position += 1
dv1.RowFilter = "StNo=" & Me.TextBox1.Text & ""

        End Sub

وخليى dv1 على مستوى الفورمة

أشكرك جزيل الشكر على تفاعلك وإجابتك الرائعة ، وأسأل الله أن لايحرمنا وإياك الأجر .. آمين .

سبحان الله وبحمده سبحان الله العظيم

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