Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 3 123 CuốiCuối
Kết quả 1 đến 10 của 26
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Vẽ biểu đồ với điều khiển Chart trong Visual C#.NET 2010

    Biểu đồ là đối tượng ít khi được sử dụng, nhưng nó lại khá phức tạp. Do vậy mình tạo đề tài này để mọi người cùng trao đổi về Chart. Mong mọi người tham gia và đóng góp nhiệt tình để đề tài có thể tổng hợp được mọi kiến thức về Chart.

    Mở đầu mình xin viết một chương trình nhỏ để mọi người có thể vẽ được một Chart đơn giản.
    Giao diện chương trình:
    Chương trình gồm 1 DataGridView và một Chart như sau


    Hoạt động:
    - Khi ta click chuột vào một dòng trong DataGridView thì biểu đồ sẽ thể hiện dạng cột đơn, tương ứng với số liệu của dòng đó.
    - Khi ta chọn nhiều dòng cùng lúc thì biểu đồ sẽ thể hiện dạng cột kép, tương ứng với các dòng đã chọn.

    Cài đặt DataGirdView:
    - Đặt thuộc tính AllowUserAddRows là False => Không cho thêm dòng mới.
    - Sử dụng thuộc tính Columns để thêm vào các cột với Header Text như trong hình. Mỗi cột có Width là 80.
    - Đặt thuộc tính SelectionMode là FullRowSelect để khi ta chọn một ô thì nó sẽ bôi đen cả dòng.
    - Đặt RowHeadersWidth là 100.
    - Đặt dứ liệu mẫu cho nó trong thủ tục Form_Load như sau:

    Mã:
            private void Form1_Load(object sender, EventArgs e)        {            //Cài đặt dữ liệu mẫu cho dataGridView1            dataGridView1.Rows.Add();            dataGridView1.Rows[0].HeaderCell.Value = "Năm 2012";            dataGridView1.Rows[0].Cells[0].Value = 4;            dataGridView1.Rows[0].Cells[1].Value = 8;            dataGridView1.Rows[0].Cells[2].Value = 3;            dataGridView1.Rows[0].Cells[3].Value = 4;            dataGridView1.Rows[0].Cells[4].Value = 9;            dataGridView1.Rows[0].Cells[5].Value = 5;             dataGridView1.Rows.Add();            dataGridView1.Rows[1].HeaderCell.Value = "Năm 2013";            dataGridView1.Rows[1].Cells[0].Value = 8;            dataGridView1.Rows[1].Cells[1].Value = 12;            dataGridView1.Rows[1].Cells[2].Value = 3;            dataGridView1.Rows[1].Cells[3].Value = 9;            dataGridView1.Rows[1].Cells[4].Value = 7;            dataGridView1.Rows[1].Cells[5].Value = 43;        }
    Ở đây tôi chỉ thêm có 2 dòng dữ liệu, bạn có thể thêm vài dòng nữa nếu bạn thích.

    Vẽ biểu đồ khi chọn 1 hay nhiều dòng trong DataGridView:
    Mã lệnh viết trong sự kiện MouseClick của DataGridView như sau:

    Mã:
            private void dataGridView1_MouseClick(object sender, MouseEventArgs e)        {            //Tìm và đặt giá trị MAX cho trục Y            int max = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);            for (int i = 1; i < 6; i++)                if (max < Convert.ToInt32(dataGridView1.CurrentRow.Cells[i].Value))                    max = Convert.ToInt32(dataGridView1.CurrentRow.Cells[i].Value);            if (chart1.ChartAreas[0].AxisY.Maximum < max) chart1.ChartAreas[0].AxisY.Maximum = max;             chart1.Series.Clear();            for (int n = 0; n < dataGridView1.Rows.Count; n++) //Duyệt từ dòng đầu tiên đến dòng cuối cùng của dataGridView1            {                if (dataGridView1.Rows[n].Selected) //Nếu dòng thứ n được chọn thì thêm series cho dòng đó                {                    Series s = new Series();                    for (int i = 0; i < 6; i++)                    {                        DataPoint p = new DataPoint();                        p.XValue = i;                        p.SetValueY(Convert.ToDouble(dataGridView1.Rows[n].Cells[i].Value));                        p.AxisLabel = "Tháng " + (i + 1).ToString();                        s.Points.Add(p);                    }                    chart1.Series.Add(s);                }            }
    Chạy thử chương trình:
    Ok. Thế là xong, bây giờ bạn chạy thử chương trình.
    - Ban đầu bạn chọn dòng 1, kết quả:

    - Sau đó bạn chọn dòng 2:

    - Tiếp theo bạn chọn cả 2 dòng bằng bằng chuột:

    Bạn sẽ thấy biểu đồ thay đổi, để hiểu tại sao nó thay đổi như thế thì hãy coi kỹ mã lệnh nha.

    Hy vọng chương trình nhỏ trên có ích cho nhiều bạn [IMG]images/smilies/online.gif[/IMG]!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Điều khiển Chart cung cấp cho ta hơn 30 kiểu biểu đồ khác nhau như kiểu đường, kiểu miền, kiểu cột, kiểu hình tròn,...
    Các bạn xem ví dụ ở tệp đính kèm để thấy được các kiểu biểu đồ này.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    nhiệt tình thế này mà không có ai hưởng ứng à ?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi dangbon
    nhiệt tình thế này mà không có ai hưởng ứng à ?
    Vào xem ầm ầm mà bạn. Tôi hưởng ứng

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hay. cảm ơn nhá [IMG]images/smilies/biggrin.png[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cám ơn bạn [IMG]images/smilies/applause.gif[/IMG]
    định tìm hiểu, giờ có người up [IMG]images/smilies/online.gif[/IMG]

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hay quá,mình đang cần cái này.
    Thank bạn nhiều nhá

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Tuyệt quá, đúng cái mình đang cần. [IMG]images/smilies/clap_grin.gif[/IMG][IMG]images/smilies/clap_grin.gif[/IMG]

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cảm ơn bạn ^_^

  10. #10
    Hưởng ứng nhiệt tình!

 

 
Trang 1 của 3 123 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •