Sunday, October 12, 2014

شرح إستخدام أداة الترى فيو TreeView

بسم الله الرحمن الرحيم

TreeView

سأعطى لكم مثال بسيط لكى تتفهموا من خلاله إن شاء الله نتخيل إننا عندنا قاعدة بيانات أكسيس مثلا وفيها بيانات عن العاملين وإحنا عايزين يظهر قدامنا أسماء العاملين وكود العاملين لما أفتح أسماء العاملين أختار منها إسم العامل يعرضلى بياناته أو لما أفتح كود العاملين وأختار منها كود أى عامل يعرضلى باقى بيانات العامل وهكذا
كل اللى هنعمله إننا هنجيب أداة
Treeview
من ضمن الأدواة نضعها فى الفورمة
ونجيب أدوات نصوص
Textbox
ونحط أدوات النصوص على قد بيانات العامل
الإسم والكود والعنوان والبريد الإلكترونى والتليفون والمرتب مثلا إذا دول 6 تكست بوكس
وبعدين هنضغط على الفورم دابل كليك
وقبل كتابة الكود نضع قاعدة البيانات اللتى نوعها أكسيس ومثلا إسمها
database
فى مسار البرنامج الذى يقوم منه
وتحتوى على جدول إسمه table1
ونقوم بإدخال هذا الكود فى منطقة الجينيرال دكليريشن حتى نستدعى مكتبة الأدو التى تتعامل مع الأكسيس

Imports System.Data.OleDB
ثم نتوجه إلى منطقة
Public Class
Form1ثم نكتب هذا الكود لنقوم بتعريف كائن الإتصال والكائن الذى يحمل جملة سلكت وكائن القراءة الذى يقرء البيانات وطبعا أكيد كلم عارفين الموضوع ده
واللى ميعرفوش فى موضوع مثبت فى قسم الأدو يشرح هذه الأشياء وأستفد منه كثيرا بعد لما مكنتش أعرف حاجة فى الأدو

Dim CN As New OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=DataBase.mdb")
Dim CMD, CMD1 As New OleDbCommand
Dim DR As OleDbDataReader
ثم نقوم ببرمجة أداة الترى فيو على إنها تعرض ثلاث عناوين تدعى نود وهم أسماء العاملين وكود العاملين والمرتب بحث إذا ضغط على أى منهم يعرضهم من الجدول ثم تختار أى إسم او أى كود للعامل لكى يعرض بيانات هذا العامل يجب علينا أن نتوجه إلى منطقة الفورم لود لكى نتصل بقاعدة البيانات ونقوم بعرض ما فيها لذلك نكتب فيها هذا الكود
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  CN.Open()
  CMD.Connection = CN
  CMD.CommandType = CommandType.Text
  CMD.CommandText = "select * from table1"
  DR = CMD.ExecuteReader
  TreeView1.Nodes.Clear()

  TreeView1.Nodes.Add("أسماء العاملين")
  TreeView1.Nodes.Add("كود العاملين")
  TreeView1.Nodes.Add("المرتب")
  Do While DR.Read
   TreeView1.Nodes(0).Nodes.Add(DR("Sname"))
   TreeView1.Nodes(1).Nodes.Add(DR("Scode"))
   TreeView1.Nodes(2).Nodes.Add(DR("st"))
  Loop
  DR.Close()
  CN.Close()
End Sub
هنا نقوم بالإتصال بقاعدة البيانات ونعطى جملة الإستعلام للريدرثم نقوم بإضافة العناوين لأداة الترى فيو ثم نعمل لووب لإضافة محتوى لهذه العناوين وتكون هذه المحتويات عبارة عن بيانات من الجدول الذى أصبح يحمله الريدرdatareader من جملة الإستعلام التى تحملها الكومند CMD

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

Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
  Dim NS As String
  NS = TreeView1.SelectedNode.Text
  If CN.State = ConnectionState.Closed Then
   CN.Open()
  End If
  CMD1.Connection = CN
  CMD1.CommandType = CommandType.Text
  CMD1.CommandText = "select * from table1 where Sname='" & NS & "' or Scode ='" & NS & "' or ST='" & NS & "'"
  If DR.IsClosed = False Then
   DR.Close()
  End If
  DR = CMD1.ExecuteReader
  If DR.Read = True Then
   TextBox1.Text = DR!sname
   TextBox2.Text = DR!scode
   TextBox3.Text = DR!sphone
   TextBox4.Text = DR!Email
   TextBox5.Text = DR!Addr
   TextBox6.Text = DR!ST
   DR.Close()
  Else
   Exit Sub
  End If
  DR.Close()
 End Sub

No comments:

Post a Comment