Nilesh Dalvi Ответов: 0

Как распечатать gridview все столбцы без обрезки.


У меня есть таблица сведений о клиенте, которая имеет 56 столбцов.
Я показываю несколько строк в GridView.
Когда я печатаю данные из GridView, он печатает только начальные 12 столбцов; все остальные столбцы данных обрезаются.

Я хочу два решения
Любой
1) печать всех столбцов в любом состоянии на одной странице (альбомный/портретный режим) независимо от того, читаемы данные или нет
ОПЕРАЦИОННАЯ
2) все вырезанные данные должны быть напечатаны на второй странице.


Вот мой HTML-код:

< html xmlns="http://www.w3.org/1999/xhtml" >
&ЛТ;глава атрибут runat="сервер"и GT;
в <название&ГТ;&ЛТ;/название&ГТ;
<стиль тип="текст/CSS в" СМИ="печать"и GT;
див. {
поплавок :нет;
дисплей: блок;
}
< / стиль>
< / head>
& lt;тело>
&ЛТ;форме ID="форма form1" атрибут runat="сервер"и GT;
< div>
&ЛТ;АСП:таблицы с ID="gridview1, на" атрибут runat="сервер" AutoGenerateColumns="false" - в DataKeyNames="AuditPlanId" свойстве datasourceid="sqldatasource1 на"&ГТ;

//мой список столбцов (столбцы 59)

< / asp:GridView>
&ЛТ;как ASP:sqldatasource его идентификатор="sqldatasource1 на" атрибут runat="сервер" параметр connectionString="&ЛТ;%$ connectionstrings в:ех %&ГТ;" команды selectcommand="выбрать первые 100 * с [MstrAuditPlan]"&ГТ;&ЛТ;/в ASP:sqldatasource его&ГТ;
&ЛТ;АСП:кнопка ID="кнопка 1" атрибут runat="сервер" текст="кнопка" функция onclick="обработчика button1_click" /&ГТ;
< / div>
< / форма>
< / body>
< / html>


и для печати на PrintBtn_Click
GridView1.PagerSettings.Visible = false;
            GridView1.DataBind();
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);
            GridView1.RenderControl(hw);
            string gridHTML = sw.ToString().Replace("\"", "'")
                .Replace(System.Environment.NewLine, "");
            StringBuilder sb = new StringBuilder();
            sb.Append("<script type = 'text/javascript'>");
            sb.Append("window.onload = new function(){");
            sb.Append("var printWin = window.open('', '', 'left=0");
            sb.Append(",top=0,width=1000,height=600,status=0');");
            sb.Append("printWin.document.write(\"");
            sb.Append(gridHTML);
            sb.Append("\");");
            sb.Append("printWin.document.close();");
            sb.Append("printWin.focus();");
            sb.Append("printWin.print();");
            sb.Append("printWin.close();};");
            sb.Append("</script>");
            ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
            GridView1.PagerSettings.Visible = true;
            GridView1.DataBind();


Что я уже пробовал:

<стиль тип="текст/CSS в" СМИ="печать"и GT;
див. {
поплавок :нет;
дисплей: блок;
}
< / стиль>

0 Ответов