نحوه استفاده از Chart در C#

MPERSIA4

Member
درودی دوباره
ی راهنمایی میخواستم درمورد استفاده از Chart
آیا امکانش هست که رو ستون ها کلیک کنیم تا عمل خاصی انجام بده؟
(برای مثال اون چارت درآمد روزانه رو نشون میده و بعد از کلیک رو یکی از ستون ها ، جدول کل ورودی و خروجی های اون روز رو به ما نشون بده)

خودتون چ پیشنهادی برای این کار دارید؟
اگه نکته خاصی در مورد چارت ها هست که باید به اون توجه کنم لطفا بهم بگید
با سپاس فراوان
 

MPERSIA4

Member
ی سوال دیگه
چطور میشه بصورت روان و زنده طراحیش کرد جوری که ستون ها در لحظه اول نمایش ارتفاعشون مساوی با مقادیرشون نشه
و یک یا دو ثانیه طول بکشه تا حالت رشد رو نشون بده (یعنی آپدیت تغییرات ستون ها قابل مشاهده باشه) ؟
 

the_king

مدیرکل انجمن
درودی دوباره
ی راهنمایی میخواستم درمورد استفاده از Chart
آیا امکانش هست که رو ستون ها کلیک کنیم تا عمل خاصی انجام بده؟
(برای مثال اون چارت درآمد روزانه رو نشون میده و بعد از کلیک رو یکی از ستون ها ، جدول کل ورودی و خروجی های اون روز رو به ما نشون بده)

خودتون چ پیشنهادی برای این کار دارید؟
اگه نکته خاصی در مورد چارت ها هست که باید به اون توجه کنم لطفا بهم بگید
با سپاس فراوان
رویداد هایی مثل SeriesSelected موقع انتخاب کردن ستون ها رخ میده و e.series اون سری ستون های انتخاب شده است.

ی سوال دیگه
چطور میشه بصورت روان و زنده طراحیش کرد جوری که ستون ها در لحظه اول نمایش ارتفاعشون مساوی با مقادیرشون نشه
و یک یا دو ثانیه طول بکشه تا حالت رشد رو نشون بده (یعنی آپدیت تغییرات ستون ها قابل مشاهده باشه) ؟
به محض اینکه مقدار ستون ها رو عوض می کنید مقیاس عمودی بصورت خودکار براساس مقادیر جدید تغییر می کنه و انیمیشن تون بهم می ریزه.
 

MPERSIA4

Member
درود
اون حالت انیمیشن رو که گفته بودم تو LiveChart پیدا کردم ولی هرکاری میکردم برای اتصال دیتاسورسش و ... خطا میداد منم ولش کردم ( به موقعش ازتون سوال میکنم ، البته اگه کار سبکیه و وقتتون رو نمیگیره همینجا هم بگید ممنون میشم)
ولی چنتا سوال دیگه درمورد چارت ها داشتم
1 - چطور میتونم تو این چارت به جای مقادیر ستون x که الان شماره های 9 ،10، 11 و 12 رو داره نشون میده ماه های سال شمسی رو نشون بدم ؟؟؟
2 - چطور میشه مقادیر سری ها (series) رو بصورت عمودی داخلشون نشون داد؟
Screenshot (38).png
ممنون از جوابای کامل و مفیدتون
 

MPERSIA4

Member
این کد رو برای تغییر نام مقادیر X به نام ماه ها نوشتم ولی کار نمیکنه
مشکلش کجاست؟

کد:
 DataTable dt = new DataTable();
            SqlCommand s = new SqlCommand("ReportMonthly", SCon);
            s.CommandType = CommandType.StoredProcedure;
            s.Parameters.AddWithValue("@Year", Year);
            SCon.Open();
            SqlDataReader dr = s.ExecuteReader();
            dt.Load(dr);           
            chtWRMonthly.DataSource = dt;
            chtWRMonthly.Series["Sold"].XValueMember = "Month";           
            chtWRMonthly.Series["sRemaining"].XValueMember = "Month";           
            chtWRMonthly.Series["Bought"].XValueMember = "Month";           
            chtWRMonthly.Series["bRemaining"].XValueMember = "Month";
           
            chtWRMonthly.Series["Sold"].YValueMembers = "sTAccount";
            chtWRMonthly.Series["sRemaining"].YValueMembers = "sRemaining";
            chtWRMonthly.Series["Bought"].YValueMembers = "bTAccount";
            chtWRMonthly.Series["bRemaining"].YValueMembers = "bRemaining";
            SCon.Close();

            //انتصاب نام ماه ها
            foreach (Series SR in chtWRMonthly.Series)
            {
                foreach (DataPoint DP in SR.Points)
                {
                    switch (DP.XValue.ToString())
                    {
                        case "1":
                            DP.AxisLabel = "فروردین";
                            break;
                        case "2":
                            DP.AxisLabel = "اردیبهشت";
                            break;
                        case "3":
                            DP.AxisLabel = "خرداد";
                            break;
                        case "4":
                            DP.AxisLabel = "تیر";
                            break;
                        case "5":
                            DP.AxisLabel = "مرداد";
                            break;
                        case "6":
                            DP.AxisLabel = "شهریور";
                            break;
                        case "7":
                            DP.AxisLabel = "مهر";
                            break;
                        case "8":
                            DP.AxisLabel = "آبان";
                            break;
                        case "9":
                            DP.AxisLabel = "آذر";
                            break;
                        case "10":
                            DP.AxisLabel = "دی";
                            break;
                        case "11":
                            DP.AxisLabel = "بهمن";
                            break;
                        case "12":
                            DP.AxisLabel = "اسفند";
                            break;
                    }
                }
            }
 

جدیدترین ارسال ها

بالا