Как сделать печать веб-страницы конкретной области, содержащейся в диаграммах? - PullRequest
3 голосов
/ 20 января 2012

У меня проблема с печатью диаграммы.

Я создал веб-страницу, содержащую некоторое количество элементов управления и одну диаграмму, используя элемент управления диаграммы Microsoft.В настоящее время эта проблема затрагивает меня как в IE 8, так и в Firefox 9.0.1

. Когда я сделал печать с использованием JavaScript, он печатает все элементы управления, содержащиеся в div, но элемент управления диаграммы не отображается на печати.Страница предварительного просмотра, которая находится в том же разделе.

1 Ответ

3 голосов
/ 20 января 2012

Если вы используете Microsoft Chart Controls , вы можете попробовать следующий код для печати:

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);

получает печать необходимого графика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...