Как распечатать 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;
див. {
поплавок :нет;
дисплей: блок;
}
< / стиль>