View Full Version : سوال: ایجاد سری داینامیک برای چارت دایره های HighCHart
aebrs@yahoo.com
سه شنبه 20 تیر 1391, 19:54 عصر
می خواهم سری چارت دایره ای HighChart را داینامیک کنم حالت ثابت آن به این شکل است :
//object[] yValues = null;
//yValues = new object[] {
// new object[] { "Firefox", 45 },
// new object[] { "IE", 24.8 },
// new object[] { "Chrome", 12.8 },
// new object[] { "Safari", 8.5 },
// new object[] { "Opera", 5.2 },
// new object[] { "Outros", 3.7 }
// };
در حقیقت باید Object باشد
اطلاعات مورد استفاده را در دو آرائه دارم و به این شکل هم سعی در استفاده کرده ام اما مشکل دارد :
for (int i = 0; i < hidXCategories1.Count; i++)
{
yValues = new object[]{hidXCategories1.ToArray(typeof(object))+","+ hidValues1.ToArray(typeof(object))};
}
این هم پر کردن آرایه ها :
ArrayList hidValues1 = new ArrayList();
ArrayList hidXCategories1 = new ArrayList();
hidXCategories1.Add(ChkDaramad1.Text);
hidValues1.Add(int.Parse(LblDaramad1.Text));
hidXCategories1.Add(ChkDaramad2.Text);
hidValues1.Add(int.Parse(LblDaramad2.Text));
hidXCategories1.Add(ChkDaramad3.Text);
hidValues1.Add(int.Parse(LblDaramad3.Text));
از راهنمائی شما متشکرم
aebrs@yahoo.com
چهارشنبه 21 تیر 1391, 08:49 صبح
سلام
از دوستان کسی پاسخی برای ان مسئله نداشت یا مسئله گنگ است؟
aminghaderi
چهارشنبه 21 تیر 1391, 09:27 صبح
به این صورت داینامیک شد ، تستش کنید ، ببنید جواب می دهد.
کلاس :
public class MyCharts
{
private string[] StrArrNames;
private string[] StrArrParametrs;
object[] YValues = null;
public void Name(params string[] ArrName)
{
StrArrNames = ArrName;
}
public void Parametr(params string[] ArrParametr)
{
StrArrParametrs = ArrParametr;
}
public void Start()
{
for (int i = 0; i < 10; i++)
{
YValues[i] = new object[] { StrArrNames[i], StrArrParametrs[i] };
}
}
}
فراخوانی :
MyCharts Charts = new MyCharts();
Charts.Name("Firefox", "IE", "Chrome", "Safari", "Opera", "Outros");
Charts.Parametr("45", "24.8", "12.8", "8.5", "5.2", "3.7");
Charts.Start();
استفاده آسان در صفحه : (افزودن کلاس به صفحه ، متد استانداردی نیست ، فقط برای نمونه گذاشتم)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public class MyCharts
{
private string[] StrArrNames;
private string[] StrArrParametrs;
object[] YValues = null;
public void Name(params string[] ArrName)
{
StrArrNames = ArrName;
}
public void Parametr(params string[] ArrParametr)
{
StrArrParametrs = ArrParametr;
}
public void Start()
{
for (int i = 0; i < 10; i++)
{
YValues[i] = new object[] { StrArrNames[i], StrArrParametrs[i] };
}
}
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MyCharts Charts = new MyCharts();
Charts.Name("Firefox", "IE", "Chrome", "Safari", "Opera", "Outros");
Charts.Parametr("45", "24.8", "12.8", "8.5", "5.2", "3.7");
Charts.Start();
}
}
موفق باشید.
aebrs@yahoo.com
چهارشنبه 21 تیر 1391, 09:28 صبح
دوست عزیز قبل از آنکه آنرا تست کنم لازم دانستم از شما تشکر کنم
واقعا شما لطف دارید
و حتما کد هم جواب میدهد.
سلام ما را خدمت آقا امام رضا برسانید
از آقا برای شما کامیابی و شادکامی طلب میکنم
متشکرم
ابراهیمی
aebrs@yahoo.com
چهارشنبه 21 تیر 1391, 10:35 صبح
در این تابع :
public void Start()
{
for (int i = 0; i < 5; i++)
{
YValues[i] = new object[] { StrArrNames[i], StrArrParametrs[i] };
}
}
این خطا گرفته میشود :
Object reference not set to an instance of an object.
aminghaderi
چهارشنبه 21 تیر 1391, 14:46 عصر
سلام مجدد.
خواهش می کنم ، ممنونم از شما نظر لطف شماست.
کلا کار با ابجکت ها دردسر زیاد داره ، خصوصا ارایه سازی با اونها ؟! برای همین هم معمولا از لیست ها جنریک برای این کار استفاده می شه ، که هم راحت تر هست و هم عملیات boxing و unboxing ندارد.
من کد بالا رو به این صورت نوشتم ، داده به خوبی وارد و ذخیره می شود ولی چطور باید خروجی رو ببینیم ؟! نمی دونم؟!
public void Start()
{
YValues = new object[StrArrParametrs.Length];
for (int i = 0; i < StrArrParametrs.Length; i++)
{
YValues[0] = new object[2] { StrArrNames[i], StrArrParametrs[i] };
}
}
aebrs@yahoo.com
چهارشنبه 21 تیر 1391, 17:53 عصر
سلام و خسته نباشید
من کد را دنبال کردم و الان موفق شده ام تا از آن استفاده کنم
خیلی ممنون هستم
موفق و موید باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.