2016-07-11 1 views
0

막대 차트 생성을 위해 asp .net 차트 컨트롤을 사용하고 있습니다 .`. 내 aspx 페이지에서 백분율로 너비를 설정할 수 없습니다. 백분율로 설정하면 실행시 오류가 발생하여 픽셀 단위로만 설정할 수 있습니다.asp .net 차트를 만드는 방법 (균일하게 처리) 응답 크기

내 차트에서 click 이벤트를 처리 중입니다 (다른 막대는 클릭 가능/하이퍼 링크 - X 및 Y 값을 코드 숨김 메소드로 보냅니다).

이제 차트의 너비를 100 %로 설정하려고했는데 차트 변경 크기가 그대로 유지되지만 하이퍼 링크의 위치는 동일하게 유지되고 막대 하이퍼 링크와 실제 보이는 위치간에 불일치가 발생합니다. 바. (내가 생각하는 이유는 - ASP 차트는 브라우저의 이미지 일 뿐이다. 마침내 HTML 코드가 생성되고 HTML 코드의 하이퍼 링크가 하이퍼 링크 그래프의 다른 영역을 유지하기위한 좌표와 함께 정의됨에 따라)). 그래서 CSS를 사용하면 이미지 크기가 변경되지만 하이퍼 링크는 동일하게 유지됩니다.

다른 화면 크기에 반응하는 이미지의 크기를 만들고 싶기 때문에 왜 ASP 차트의 크기를 유지하려고 하는가? 내가 뭘해야하는지 말해줘? 도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

이것이 도움이 될지 모르겠다. 간단한 자바 스크립트를 사용하여 페이지 크기의 크기에 따라 그래픽의 크기를 조정했다. 창 크기가 1024px보다 큰 경우 스크립트는 여기에 UpdatePanel을 사용하여 확인 당신이 내 대답은 좋은 생각한다면 documentation

는 는
<script type="text/javascript" language="javascript"> 
     function load() { 
      Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     } 

     function EndRequestHandler() { 
      $(document).ready(function() { 
       scale(); 

      }); 
      $(window).resize(function() { 
       scale(); 
      }); 
      function scale() { 
       var wi = $(window).width(); 
       if (wi >= 1024) { 
        var w_wi = $("#ChartID").width(); 
        var w_he = $("#ChartID").height(); 
        var rpt = w_he/w_wi; 
        $("#ChartID").css("width", $(window).width()); 
        $("#ChartID").css("height", wi * rpt); 
       } else { 
        scaleDefault(); 
       } 
      } 
      function scaleDefault() { 

       var wi = $(window).width(); 
        var w_wi = $("#ChartID").width(); 
        var w_he = $("#ChartID").height(); 
        var rpt = w_he/w_wi; 
        $("#ChartID").css("width", 1024); 
        $("#ChartID").css("height", 1024 * rpt); 
      } 

     } 
     $(function() { 
      EndRequestHandler(); 
     }); 

    </script> 
+0

감사 알렉스 ...이 솔루션을하려고합니다 ... –

+0

는 유효을 표시하십시오 :) –

+0

미안 알렉스 ... 나는 웹 사이트에 처음이에요 ... 그래서 당신에게 투표하기에 충분한 명성을 얻지 못했습니다 ...이 솔루션으로 인해 바의 하이퍼 링크와 보이는 위치의 불일치가 다시 발생하지 않을 것입니다. 그래프를 다시 만들 때 코드가 필요하지 않을까요? –