تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] احصاء و تمثيل بيانات بChart
#1
السلام عليكم ورحمة الله
حاولت ان احصاء و تمثيل البيانات بChart يعمل عند التحميل فقط ثم لا يتغير عند استعمال ComboBox
اليكم الملف


الملفات المرفقة
.rar   احصاء و تمثيل بيانات.rar (الحجم : 128.78 ك ب / التحميلات : 16)
الرد
تم الشكر بواسطة:
#2
كود :
Imports System.Data.OleDb

Public Class Form1

   Dim DT As New DataTable
   Dim totals() As Integer
   Dim titles() As String = {"ذكر", "أنثى"}

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       '=========================
       fillcboSubject()
       '=========================
       LoadDataGridView_Subject_Gender()
   End Sub

   Private Sub fillcboSubject()
       'تحميل بيانات المواد في الكومبوبكس
       Subjects_Load()
       '==============================
       ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList
       ComboBox1.DataSource = SubjectDT
       ComboBox1.DisplayMember = "Subject"
       ComboBox1.ValueMember = "ID_Subject"
       ComboBox1.SelectedIndex = -1
       'ComboBox1.Text = "المادة"
   End Sub

   Private Sub LoadDataGridView_Subject_Gender()
       Try

           Dim id = ComboBox1.SelectedValue
           DT.Clear()
           Dim DA As New OleDbDataAdapter("SELECT Subjects.Subject, Teachers.Gender AS Gender, Count(Teachers.ID_Teacher) AS total FROM Teachers,Subjects where (Teachers.ID_Subject = Subjects.ID_Subject) and (Teachers.ID_Subject = " & ComboBox1.SelectedValue & ") GROUP BY Subjects.Subject, Teachers.Gender", con)

           DA.Fill(DT)
           DataGridView1.DataSource = DT
           Data_GridView()

           Dim male As Integer = (From x In DT Where x("Gender").Equals("ذكر") Select x("total")).FirstOrDefault
           Dim female As Integer = (From x In DT Where x("Gender").Equals("أنثى") Select x("total")).FirstOrDefault
           totals = {male, female}

       Catch ex As Exception
       End Try
   End Sub

   Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As System.EventArgs) Handles ComboBox1.SelectionChangeCommitted
       LoadDataGridView_Subject_Gender()
       Chart1.Series(0).Points.DataBindXY(titles, totals)
   End Sub


   Private Sub Data_GridView()
       DataGridView1.Columns(0).HeaderText = " المادة"
       DataGridView1.Columns(1).HeaderText = " الجنس"
       DataGridView1.Columns(2).HeaderText = " المجموع"
   End Sub

End Class
الرد
تم الشكر بواسطة: elgokr , elgokr , عبد العزيز البسكري , DOX.1 , DOX.1
#3
شكرا لك اخي 911 على الرد
و لكن النسبة المئوية لم تتحقق
وكذلك اردت لو امكن لماذا لاتتغير في الكود الذي وضعته انا بحيث عند التحميل في المرة الاولى النسبة صحيحىة ثم لاتتغير
الرد
تم الشكر بواسطة: 911 , 911 , elgokr
#4
كود :
Imports System.Data.OleDb

Public Class Form1

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       '=========================
       fillcboSubject()
       '=========================
       LoadDataGridView_Subject_Gender()
       '=========================
       Data_GridView()
       '=========================
       ComboBox1.Select()
   End Sub

   Private Sub fillcboSubject()
       'تحميل بيانات المواد في الكومبوبكس
       Subjects_Load()
       '==============================
       ComboBox1.DataSource = SubjectDT
       ComboBox1.DisplayMember = "Subject"
       ComboBox1.ValueMember = "ID_Subject"
       If ComboBox1.Items.Count > 0 Then
           ComboBox1.SelectedIndex = 0
       End If
       'ComboBox1.Text = "المادة"
   End Sub

   Dim DT As New DataTable
   Dim total() As Integer
   Dim titles() As String = {"ذكر", "أنثى"}

   Private Sub LoadDataGridView_Subject_Gender()
       Try

           Dim id = ComboBox1.SelectedValue
           DT.Clear()
           Dim DA As New OleDbDataAdapter("SELECT Subjects.Subject, Teachers.Gender AS Gender, Count(Teachers.ID_Teacher) AS total FROM Teachers,Subjects where (Teachers.ID_Subject = Subjects.ID_Subject) and (Teachers.ID_Subject = " & ComboBox1.SelectedValue & ") GROUP BY Subjects.Subject, Teachers.Gender", con)

           DA.Fill(DT)
           DataGridView1.DataSource = DT

           Dim male As Integer = (From x In DT Where x("Gender").Equals("ذكر") Select x("total")).FirstOrDefault
           Dim female As Integer = (From x In DT Where x("Gender").Equals("أنثى") Select x("total")).FirstOrDefault

           If male > 0 Or female > 0 Then
               total = {(male / (male + female)) * 100, (female / (male + female)) * 100}
           Else
               total = {0, 0}
           End If

           charting()

       Catch ex As Exception

       End Try

   End Sub

   Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As System.EventArgs) Handles ComboBox1.SelectionChangeCommitted
       LoadDataGridView_Subject_Gender()
       charting()
   End Sub

   Private Sub charting()
       Chart1.Series(0).LabelFormat = "#'%'"
       Chart1.Series(0).Points.DataBindXY(titles, total)
       Chart1.Series(0).IsValueShownAsLabel = True
   End Sub

   Private Sub Data_GridView()

       DataGridView1.Columns(0).HeaderText = " المادة"
       DataGridView1.Columns(1).HeaderText = " الجنس"
       DataGridView1.Columns(2).HeaderText = " المجموع"
   End Sub

End Class
الرد
تم الشكر بواسطة: عبد العزيز البسكري , elgokr
#5
شكرا لك اخي 911 على تعبك معنا وبارك الله فيكم
الرد
تم الشكر بواسطة: 911 , 911 , elgokr , elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكله فى حفظ قاعده بيانات اكسس فى مشروع فيجوال بيزك مع تلك القاعده خالد كامل1 2 14 منذ 12 دقيقة مضت
آخر رد: خالد كامل1
  نقل بيانات من فورم طفل الى فورم اساسي Rabeea Qbaha 3 31 منذ 2 ساعة مضت
آخر رد: حريف برمجة
  سؤال :- فى كيغية ادراج بيانات فى الداتا جريد فيو احمد خطاب 0 33 13-10-18, 08:54 PM
آخر رد: احمد خطاب
  [SQL] اريد buckup لقاعدة بيانات 2008 sabrizinoubi 0 48 09-10-18, 04:52 PM
آخر رد: sabrizinoubi
  جلب بيانات الوقت من قاعدة البيانات access وادخالها في جدول excel alfauori 2 56 09-10-18, 03:25 AM
آخر رد: alfauori
  [سؤال] مشكلة في إرسال بيانات من الفيجوال الى الوورد سعود الشامان 7 351 08-10-18, 01:56 AM
آخر رد: عبد العزيز البسكري
  كيف يُمكن أدخال أداة ال Progress Bar للتزامن مع نسخ قاعدة بيانات الأكسس؟ Hazem1 6 186 05-10-18, 12:18 AM
آخر رد: Hazem1
  كود لحفظ بيانات من list view تناسيم 3 95 04-10-18, 10:08 AM
آخر رد: ابراهيم ايبو
  ربطت مشروع على قاعدة بيانات mysql على استضافتي لكن البرنامج بطيء جدا essawq 10 227 03-10-18, 04:54 PM
آخر رد: essawq
  تحديد و اظهار بيانات الجدول VB.Net khaled12345 8 1,018 01-10-18, 02:29 AM
آخر رد: ابراهيم ايبو

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


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