2012-05-17 3 views
1

Render 메서드는 DotNet.HighCharts에서 지원되지 않으므로 동일한 페이지에서 여러 차트를 정렬하기가 어려울 것으로 보입니다. 동일한 페이지에서 여러 차트를 채울 수는 있지만 서로 옆에 정렬 할 수는 없습니다. 그러나 그들은 서로 표시됩니다. 누구든지 서로 옆에 2 개의 차트를 표시하는 방법을 알고 있습니까? 또는 심지어 4 개의 차트를 블록으로?여러 줄 맞춤 DotNet.HighCharts

참고 : ASP.Net Mvc3을 사용하고 있습니다.

답변

2

각각 하나의 차트 DIV 컨테이너를 보유 할 DIV 집합을 생성하지 않는 이유는 무엇입니까? 레이아웃을 사용하여 (나란히 또는 무엇이든) 결정하십시오. 그런 다음 각 차트를 원하는 "마스터"컨테이너로 보냅니 까?

MVC에 익숙하지 않기 때문에 여기에 몇 가지 가짜 코드가 있습니다.

표시 페이지 (aspx 등)에서 주소 지정 가능 요소가있는 다른 구조화 된 컨테이너를 만듭니다. 그런 다음 각 요소에 리터럴 태그를 별도로 추가하십시오 (예 : 테이블 셀). 코드 숨김에서 일련의 차트 대신 개별 차트를 만듭니다. 같은 그래서 뭔가 :

chart1 as new highcharts("chart1")..... 
ltrchart1.Text = chart1.ToHtmlString() 

chart2 as new highcharts("chart2")..... 
ltrchart2.Text = chart2.ToHtmlString() 

chart3 as new highcharts("chart3")..... 
ltrchart3.Text = chart3.ToHtmlString() 

chart4 as new highcharts("chart4")..... 
ltrchart4.Text = chart4.ToHtmlString() 

이 꽤 아니지만이 일을 가져옵니다

<table> 
<cell1> 
<asp:literal id="ltrchart1"> 
</cell1> 
<cell2> 
<asp:literal id="ltrchart2"> 
</cell2> 
<cell3> 
<asp:literal id="ltrchart3"> 
</cell3> 
<cell4> 
<asp:literal id="ltrchart4"> 
</cell4> 
</table> 

는 그런 다음 코드 숨김에서 그런 짓을. 당신은 당신이 그때 확실하지 않다 서로

+0

@Strider에 옆에 표시됩니다 결과 패널을 최대화 경우 여기를 – wergeld

+0

차트가 여러 개있는 경우 차트 컨테이너를 반환하는 액션을 사용하고 있습니다. return View (새 DotNet.Highcharts.Container (new [] {chart1, chart2, chart3, chart4}))); 다음 뷰를 생성합니다. @ 모델 DotNet.Highcharts.Container @ { ViewBag.Title = "한 페이지에 여러 차트"; 레이아웃 = ""; } @ (모델) 나중에 조치를 호출하는 페이지에서 ajax를 사용하여 div에 결과를 표시하고 있습니다. 차트는 서로 렌더링되고 표시됩니다. 내가 제안한 접근 방식을 구현하려면 코드에서 어떻게 변경해야합니까? 감사합니다. . – Strider

+0

고마워요! 나는 같은 생각을했다. 필요한 레이아웃으로 일부 Div (s)를 구현했습니다. 그런 다음 각 div에 차트를 렌더링합니다. 차트의 컨테이너를 같은 div에 렌더링 할 필요가 없습니다. – Strider

0

은 무엇 jsFiddle

의 예입니다. 어쩌면로드 된 DIV 컨테이너를 조작 할 수 있습니까?

+0

예, 스트레이트 JS를 사용하는 경우 정상적으로 작동합니다. DotNet.Highcharts에는 ID가 아닌 DIV 컨테이너 속성을 직접 변경하는 방법이 없다는 점에 유의하십시오. – wergeld

+0

http://dotnethighcharts.codeplex.com/ 이것이 도움이되는지 확인하십시오. –