Colspan gridview在单击打印按钮

时间:2016-04-15 21:39:39

标签: c# asp.net .net gridview

我的下面的网格视图有4列。

我在页脚中合并了一些列。

点击printbtn网格视图后我遇到的问题会在页脚中添加两列附加列。

因此输出将是原始网格视图列以及网格视图页脚中的2个空列。

网格视图

<asp:GridView ID="grid" runat="server" ShowFooter="true" DataSourceID="SqlDs_Grid" OnRowDataBound="grid_RowDataBound" AutoGenerateColumns="false" CssClass="table">
<Columns>
    <asp:BoundField HeaderText="Sr.No"></asp:BoundField>
    <asp:BoundField DataField="ProductName" HeaderText="Item Description" SortExpression="ProductName"></asp:BoundField>
    <asp:BoundField DataField="ProductQty" HeaderText="Quantity" SortExpression="ProductQty"></asp:BoundField>
    <asp:BoundField DataField="UnitPrice" HeaderText="Unit Price"></asp:BoundField>
    <asp:BoundField HeaderText="Total Amount" />
</Columns>

幕后代码

protected void grid_RowDataBound(object sender, GridViewRowEventArgs e)
{

        if (e.Row.RowType == DataControlRowType.Footer)
        {
            e.Row.Cells.RemoveAt(1);
            e.Row.Cells.RemoveAt(2);
            e.Row.Cells[0].ColumnSpan = 3;
            e.Row.Cells[0].Text = "<div class='pull-left'>Total Amount In  Words </div> <br>" + "<div class='pull-left'>" + NumberToWords(Convert.ToInt32(Totalamount)) + "Only</div>";
            e.Row.Cells[1].Text = "Total Amount:";
            e.Row.Cells[2].Text = Totalamount.ToString();
        }
}

打印按钮

<asp:Button ID="printbtn" runat="server" Text="Print" CssClass="btn btn-primary hidden-print" OnClientClick="javascript:window.print();" />

1 个答案:

答案 0 :(得分:2)

问题出现是因为按钮单击会导致回发。要防止这种情况发生,请在false事件中返回OnClientClient

<asp:Button ... OnClientClick="javascript:window.print(); return false;" />