C# 如何在打印时隐藏几列并放置徽标图像
我有这样的网格:C# 如何在打印时隐藏几列并放置徽标图像,c#,asp.net,C#,Asp.net,我有这样的网格: <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="StudentNum" DataSourceID="SqlDataSource
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="StudentNum" DataSourceID="SqlDataSource1" Width="1314px">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ItemStyle-CssClass="ColVisible" HeaderStyle-CssClass="ColVisible" FooterStyle-CssClass="ColVisible"/>
<asp:BoundField DataField="StudentNum" HeaderText="Student Number" ReadOnly="True" SortExpression="StudentNum" />
<asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True" SortExpression="Name" />
<asp:BoundField DataField="Surname" HeaderText="Surname" ReadOnly="True" SortExpression="Surname" />
<asp:BoundField DataField="Degree" HeaderText="Degree" ReadOnly="True" SortExpression="Degree" />
<asp:BoundField DataField="Average" HeaderText="Average" ReadOnly="True" SortExpression="Average" />
</Columns>
</asp:GridView>
在“打印”按钮上,我写道:
<asp:Button ID="btnPrintCurrent" runat="server" Text="Print"
OnClientClick="doPrint()" />
为了打印Javascript,我写了:
<script type="text/javascript">
function doPrint() {
var strContent = "<html><head>";
strContent = strContent + "<title" + "></title>";
strContent = strContent + "<link href='App_Themes/Default.css' rel='stylesheet'/>";
strContent = strContent + "</head><body>";
strContent = strContent + "<div style='width:100%;text-align:left;'>";
strContent = strContent + "<img src='~/Images/bannerNMMULogo.png'/>";
strContent = strContent + "<h1>CS Honours Project Allocation System</h1>";
strContent = strContent + "</div>";
var prtContent = document.getElementById('<%= GridView1.ClientID %>');
strContent = strContent + prtContent.outerHTML;
prtContent.border = 0; //set no border here
var WinPrint = window.open('', '', 'left=100,top=100,width=1000,height=1000,toolbar=0,scrollbars=1,status=0,resizable=1');
WinPrint.document.write(strContent);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}
</script>
函数doPrint(){
var strContent=“”;
strContent=strContent+“”;
strContent=strContent+“”;
strContent=strContent+“”;
strContent=strContent+“”;
strContent=strContent+“”;
strContent=strContent+“CS荣誉项目分配系统”;
strContent=strContent+“”;
var prtContent=document.getElementById(“”);
strContent=strContent+prtContent.outerHTML;
prtContent.border=0;//此处不设置边框
var WinPrint=window.open(“”,“”,’left=100,top=100,width=1000,height=1000,toolbar=0,scrollbars=1,status=0,resizable=1’);
WinPrint.document.write(strContent);
WinPrint.document.close();
WinPrint.focus();
print.print();
WinPrint.close();
}
我的问题是:
、删除/编辑按钮如果您按下asp:按钮,它将引发对后端的回调。如果没有后端代码,则javascript函数必须返回false以停止回调 添加返回假;结束javascript函数
<script type="text/javascript">
function doPrint() {
.....
return false;
}
</script>
函数doPrint(){
.....
返回false;
}
对于需要使用jquery的第二个问题,您可能在这里找到了一个解决方案您的代码并不简单。如果您想打印,只需链接特殊的css打印,就像您的代码
window.print()代码>
我看到你的代码只是想先弹出然后打印出来。如果您想这样做,您可以做简单的创建特殊页面打印,添加gridview而不使用asp命令字段和附加链接css打印。然后您的代码应该是这样的:
我希望这对你有帮助
function doPrint() {
var WinPrint = window.open('pageprint.aspx', '', 'left=100,top=100,width=1000,height=1000,toolbar=0,scrollbars=1,status=0,resizable=1');
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}