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

اداة Chart في VB.net هل من الممكن ادراج البيانات بها بدون تكرار العمود

بدأه Ameer Syria في 1 أكتوبر 2013 · 4 رد · 865 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم 

انا جديد في هذا  المنتدى واود ان اشكر الجميع على هذه المواضيع الرائعة اولا

وثانيا لدي سؤال بخصوص اداة chart

المشكلة في اداة Chart لنسبة المئوية للمبيعات
فمثلا : عندي رقم Syriatel
       :ورقم  Mtn
عندما اخزن رقم جديد شركة mtn مثلا ينشأ عمود بنسبة مئوية لمبيعات ارقام Mtn لكن المشكلة هي انني عندما ادرج سجل جديد لرقم Mtn ثاني ينشأ لدي عمود ثاني للنسبة المئوية في أداة Chart بدلا من زيادة النسبة المئوية في العمود الأول 
وهذا كود الاداة  الذي استعمله لعرض البيانات
 Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DP.Fill(DS, "Table1") ' 
        DataGridView1.DataSource = DS.Tables("Table1") ' 
        Chart1.DataSource = DS.Tables("Table1") ' 
        Dim CArea As ChartArea = Chart1.ChartAreas(0)
        CArea.BackColor = Color.Azure
        CArea.ShadowColor = Color.Red
        CArea.Area3DStyle.Enable3D = True
        Dim Tit As Title = Chart1.Titles.Add("تقرير المبيــــعات")
        With Tit
            .Font = New System.Drawing.Font("Times New Roman", 16.0F, System.Drawing.FontStyle.Bold)
            .ForeColor = Color.White
            .BackColor = Color.SaddleBrown
            .BorderColor = Color.Black
            .BorderDashStyle = ChartDashStyle.Solid
        End With
        Dim Series1 As Series = Chart1.Series(0)
        Series1.Name = "المبيـعات"
        Chart1.Series(Series1.Name).XValueMember = 3
        Chart1.Series(Series1.Name).YValueMembers = 0
        Chart1.Series(Series1.Name).Font = New System.Drawing.Font("Times New Roman", 11.0F, System.Drawing.FontStyle.Bold)
        Chart1.Series(Series1.Name).YValueType = ChartValueType.Double
        Chart1.Series(Series1.Name).ChartType = SeriesChartType.StackedColumn
        Chart1.Series(Series1.Name).IsValueShownAsLabel = True
        Chart1.Series(Series1.Name).LabelForeColor = Color.DarkGreen
        Chart1.Series(Series1.Name).LabelFormat = "0%"
        Dim LG As Legend = Chart1.Legends(0) ' 
        LG.BackColor = Color.Wheat
        LG.ForeColor = Color.DarkSlateBlue
        LG.Font = New System.Drawing.Font("Times New Roman", 12.0F, System.Drawing.FontStyle.Bold)
        LG.Title = "ALameer"
        Panel1.Dock = DockStyle.Fill
        Me.View()
        DataGridView1.Rows.Item(0).Height = 50
        DataGridView1.Columns(0).Width = 50
        DataGridView1.Columns(1).Width = 200
        DataGridView1.Columns(2).Width = 200
        DataGridView1.Columns(3).Width = 200
        DataGridView1.Columns(4).Width = 100
        DataGridView1.Columns(5).Width = 100
        DataGridView1.Columns(6).Width = 100
        DataGridView1.Columns(7).Width = 200
        DataGridView1.Columns(7).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        Me.MinimumSize = New Size(1400, 800)
    End Sub

فارجو المساعدة في حل هذه المشكلة

#2

:(  معقول ولا رد عالموضوع طيب عالاقل قولو السلام عليكم


انا بحاجة لحل هذه المشكلة سريعا  وهذه اول مشاركة لي في هذا المنتدى


#3
Ameer Syria كتب:

السلام عليكم 

انا جديد في هذا  المنتدى واود ان اشكر الجميع على هذه المواضيع الرائعة اولا

وثانيا لدي سؤال بخصوص اداة chart

المشكلة في اداة Chart لنسبة المئوية للمبيعات
فمثلا : عندي رقم Syriatel
       :ورقم  Mtn
عندما اخزن رقم جديد شركة mtn مثلا ينشأ عمود بنسبة مئوية لمبيعات ارقام Mtn لكن المشكلة هي انني عندما ادرج سجل جديد لرقم Mtn ثاني ينشأ لدي عمود ثاني للنسبة المئوية في أداة Chart بدلا من زيادة النسبة المئوية في العمود الأول 
وهذا كود الاداة  الذي استعمله لعرض البيانات
 Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DP.Fill(DS, "Table1") ' 
        DataGridView1.DataSource = DS.Tables("Table1") ' 
        Chart1.DataSource = DS.Tables("Table1") ' 
        Dim CArea As ChartArea = Chart1.ChartAreas(0)
        CArea.BackColor = Color.Azure
        CArea.ShadowColor = Color.Red
        CArea.Area3DStyle.Enable3D = True
        Dim Tit As Title = Chart1.Titles.Add("تقرير المبيــــعات")
        With Tit
            .Font = New System.Drawing.Font("Times New Roman", 16.0F, System.Drawing.FontStyle.Bold)
            .ForeColor = Color.White
            .BackColor = Color.SaddleBrown
            .BorderColor = Color.Black
            .BorderDashStyle = ChartDashStyle.Solid
        End With
        Dim Series1 As Series = Chart1.Series(0)
        Series1.Name = "المبيـعات"
        Chart1.Series(Series1.Name).XValueMember = 3
        Chart1.Series(Series1.Name).YValueMembers = 0
        Chart1.Series(Series1.Name).Font = New System.Drawing.Font("Times New Roman", 11.0F, System.Drawing.FontStyle.Bold)
        Chart1.Series(Series1.Name).YValueType = ChartValueType.Double
        Chart1.Series(Series1.Name).ChartType = SeriesChartType.StackedColumn
        Chart1.Series(Series1.Name).IsValueShownAsLabel = True
        Chart1.Series(Series1.Name).LabelForeColor = Color.DarkGreen
        Chart1.Series(Series1.Name).LabelFormat = "0%"
        Dim LG As Legend = Chart1.Legends(0) ' 
        LG.BackColor = Color.Wheat
        LG.ForeColor = Color.DarkSlateBlue
        LG.Font = New System.Drawing.Font("Times New Roman", 12.0F, System.Drawing.FontStyle.Bold)
        LG.Title = "ALameer"
        Panel1.Dock = DockStyle.Fill
        Me.View()
        DataGridView1.Rows.Item(0).Height = 50
        DataGridView1.Columns(0).Width = 50
        DataGridView1.Columns(1).Width = 200
        DataGridView1.Columns(2).Width = 200
        DataGridView1.Columns(3).Width = 200
        DataGridView1.Columns(4).Width = 100
        DataGridView1.Columns(5).Width = 100
        DataGridView1.Columns(6).Width = 100
        DataGridView1.Columns(7).Width = 200
        DataGridView1.Columns(7).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        Me.MinimumSize = New Size(1400, 800)
    End Sub

فارجو المساعدة في حل هذه المشكلة

 

تفضل خيي

 MsgBox("لا تنسونا من الدعاء ... محمود ... ابو محمد ... فلسطين")
        DP.Fill(DS, "Table1") ' 
        DataGridView1.DataSource = DS.Tables("Table1") ' 
        Chart1.DataSource = DS.Tables("Table1") ' 
        Dim CArea As ChartArea = Chart1.ChartAreas(0)
        CArea.BackColor = Color.Azure
        CArea.ShadowColor = Color.Red
        CArea.Area3DStyle.Enable3D = True
        Dim Tit As Title = Chart1.Titles.Add("تقرير المبيــــعات")
        With Tit
            .Font = New System.Drawing.Font("Times New Roman", 16.0F, System.Drawing.FontStyle.Bold)
            .ForeColor = Color.White
            .BackColor = Color.SaddleBrown
            .BorderColor = Color.Black
            .BorderDashStyle = ChartDashStyle.Solid
        End With
        Dim Series1 As Series = Chart1.Series(0)
        Series1.Name = "المبيـعات"
        Chart1.Series(Series1.Name).XValueMember = 0
        Chart1.Series(Series1.Name).YValueMembers = 1
        Chart1.Series(Series1.Name).Font = New System.Drawing.Font("Times New Roman", 11.0F, System.Drawing.FontStyle.Bold)
        Chart1.Series(Series1.Name).YValueType = ChartValueType.Double
        Chart1.Series(Series1.Name).ChartType = SeriesChartType.StackedColumn
        Chart1.Series(Series1.Name).IsValueShownAsLabel = True
        Chart1.Series(Series1.Name).LabelForeColor = Color.DarkGreen
        Chart1.Series(Series1.Name).LabelFormat = "0%"
        Dim LG As Legend = Chart1.Legends(0) ' 
        LG.BackColor = Color.Wheat
        LG.ForeColor = Color.DarkSlateBlue
        LG.Font = New System.Drawing.Font("Times New Roman", 12.0F, System.Drawing.FontStyle.Bold)
        LG.Title = "ALameer"
        'Panel1.Dock = DockStyle.Fill
        'Me.View()
        'DataGridView1.Rows.Item(0).Height = 50
        'DataGridView1.Columns(0).Width = 50
        'DataGridView1.Columns(1).Width = 200
        'DataGridView1.Columns(2).Width = 200
        'DataGridView1.Columns(3).Width = 200
        'DataGridView1.Columns(4).Width = 100
        'DataGridView1.Columns(5).Width = 100
        'DataGridView1.Columns(6).Width = 100
        'DataGridView1.Columns(7).Width = 200
        'DataGridView1.Columns(7).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        Me.MinimumSize = New Size(1400, 800)

جرب وخبرنا

 

لا تنسونا من الدعاء   

 

محمود ... ابو محمد ... فلسطين

 

بالتوفيق

 

 

 

 

 

 

#4

للأسف صديقي لم يعمل الكود المشكلة عندي ليست برقم العمود كماانت غيرته المشكلة في ان الاداة تقوم بعمل عمود نسبة مئوية جديدة مع ان المادة المدخلة نفس السابقة لها

بدل من زيادة نسبة العمود المئوية

    Chart1.Series(Series1.Name).XValueMember = 0

        Chart1.Series(Series1.Name).YValueMembers = 1
 هذا  عمود المادة   Chart1.Series(Series1.Name).XValueMember = 3

  وهذا عمود نسبة مبيعاتها      Chart1.Series(Series1.Name).YValueMembers = 4
#5

ارسل المثال ليتم التعديل عليه خيي

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…