2012-01-20 3 views
3

차트 인쇄에 문제가 있습니다.웹 페이지의 특정 부분을 인쇄하는 방법은 차트가 포함되어 있습니까?

Microsoft 차트 컨트롤을 사용하여 몇 가지 컨트롤과 차트 하나가 포함 된 웹 페이지를 만들었습니다. 현재 IE 8과 Firefox 9.0.1에서 모두 영향을 받고 있습니다.

JavaScript로 인쇄 할 때 div에 포함 된 모든 컨트롤을 인쇄하지만 차트 컨트롤이 인쇄 미리보기 페이지에 표시되지 않습니다. 같은 div에있는.

public void PrintWebControl(Control ctrl, string Script)  
{ 
    StringWriter stringWrite = new StringWriter(); 
    System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite); 

    if (ctrl is WebControl)  
    { 
     Unit w = new Unit(100, UnitType.Percentage); 
     ((WebControl)ctrl).Width = w; 
    } 

    Page pg = new Page(); 
    pg.EnableEventValidation =false; 

    if (Script != string.Empty)  
    { 
     pg.ClientScript.RegisterStartupScript(pg.GetType(), "PrintJavaScript", Script); 
    } 

    HtmlForm frm = new HtmlForm(); 

    pg.Controls.Add(frm); 

    frm.Attributes.Add("runat", "server"); 

    frm.Controls.Add(ctrl); 

    pg.DesignerInitialize(); 

    pg.RenderControl(htmlWrite); 

    string strHTML = stringWrite.ToString(); 

    HttpContext.Current.Response.Clear(); 

    HttpContext.Current.Response.Write(strHTML); 

    HttpContext.Current.Response.Write("<script>window.print();</script>"); 

    HttpContext.Current.Response.End(); 

} 

콜링 :

PrintWebControl(Panel1); 

당신에게 필요한 차트의 인쇄를 얻을 수

+2

어떤 종류의 차트입니까? –

+0

더 정확하게 인쇄 차트 용으로 코딩 된 것을 공유 할 수 있습니까? 또한 Microsoft 차트 컨트롤 또는 타사 차트 도구를 사용하고 있습니까? – Pratik

+0

차트 만 포함하고 페이지 끝 부분에 JavaScript print() 및 close() 메서드를 추가하는 페이지를 생성합니다. – adatapost

답변

3

당신이 Microsoft Chart Controls를 사용하는 경우 인쇄하기 위해 다음 코드를 시도 할 수 있습니다.

+0

하지만 컨트롤이 내장 된 페이지를 인쇄하려고합니다. 나는 그의 질문이 왜 나타나지 않는 것이라고 생각한다. –

+0

** Script ** 매개 변수의 내용은 무엇입니까? – Amir

관련 문제