在嵌套网格视图中隐藏按钮

本文关键字:隐藏 按钮 视图 嵌套 网格 | 更新日期: 2023-09-27 18:02:11

导出栅格到excel文件时如何隐藏btnadddetail

下面的代码不起作用

<<p> 出口代码/strong>
protected void btnexcel_Click(object sender, EventArgs e)
{
    gridrequisitions.DataSource = r.GetRequisition();
    Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("content-disposition",
        "attachment;filename=RequisitionsReport.xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.ms-excel";
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    gridrequisitions.GridLines = GridLines.Both;
    gridrequisitions.DataBind();
    foreach (GridViewRow row in gridrequisitions.Rows)
    {
        GridView gvItems = row.Cells[0].FindControl("gvItems") as GridView;
        gvItems.Columns[0].Visible = false;
        gvItems.Columns[1].Visible = false;
        gvItems.Columns[2].Visible = false;
    }
    gridrequisitions.Caption = "Requisitions Report";
    foreach (GridViewRow row in gridrequisitions.Rows)
    {
        foreach (TableCell cell in row.Cells)
        {
            for (int i = cell.Controls.Count - 1; i >= 0; i--)
            {
                if (cell.Controls[i] is Image)
                {
                    Image img = cell.Controls[i] as Image;

                    if (img.ImageUrl.Contains("plus.png") || img.ImageUrl.Contains("minus.png"))
                    {
                        cell.Controls.RemoveAt(i);
                    }
                }
            }
        }
    }
    gridrequisitions.Columns[1].Visible = false;
    gridrequisitions.Columns[2].Visible = false;
    Button btnadddetail = (Button)sender;
    btnadddetail.Visible = false;
    this.ClearControls(gridrequisitions);
    gridrequisitions.RenderControl(hw);
    //style to format numbers to string
    string style = @"<style> .textmode { mso-number-format:'@; } </style>";
    Response.Write(style);
    Response.Output.Write(sw.ToString());
    Response.Flush();
    Response.End();
}

网格视图

<asp:GridView ID="gridrequisitions" OnRowDataBound="gridrequisitions_RowDataBound" OnRowCommand="gridrequisitions_RowCommand" DataKeyNames="RequisitionID" runat="server" CssClass="table table-bordered text-nowrap" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField HeaderText="Preview">
            <ItemTemplate>
                <asp:Image ID="imgPlus" runat="server" AlternateText="" ImageUrl="img/plus.png" Style="cursor: pointer" />
                <asp:Panel ID="pnlproducts" runat="server" Style="display: none">
                    <asp:GridView ID="gvItems" CssClass="table table-bordered" OnRowCommand="gvItems_RowCommand" OnRowDataBound="gvItems_RowDataBound" runat="server" AutoGenerateColumns="false">
                        <Columns>
                            <asp:BoundField DataField="ItemID" HeaderText="ItemID" SortExpression="ItemID" ItemStyle-CssClass="hiddencol" HeaderStyle-CssClass="hiddencol" />
                            <asp:BoundField DataField="ItemName" HeaderText="Item Name" SortExpression="ItemName" />
                        </Columns>
                    </asp:GridView>
                    <div class="row" runat="server" id="hidebtn">
                        <br />
                        <div class="col-md-4">
                            <asp:Button ID="btnadddetail" OnClick="btnadddetail_Click" runat="server" Text="Add New Item" CssClass="btn btn-default" Width="200px" ForeColor="Black" />
                        </div>
                    </div>
                </asp:Panel>
            </ItemTemplate>
    </Columns>
</asp:GridView>

在嵌套网格视图中隐藏按钮

使用控件的.visible属性您可以隐藏该特定控件。

btnadddetail。

这个代码应该可以隐藏btnadddetail