не удалось изменить видимость кнопки из-за кода - PullRequest
0 голосов
/ 30 мая 2018

У меня есть кнопка с изображением, которая извлекает данные из базы данных и сохраняет их в файл Excel с помощью EPPlus.Когда пользователь нажимает кнопку, запускается скрипт, скрывающий кнопку с помощью OnClientClick, и кнопка снова появляется после сохранения файла.Начальная скрывающая часть работает, но сделать ее видимой снова не работает.

Однако позже я обнаружил, что если я закомментирую функцию DumpToExcel, которая является функцией передачи данных в Excel, кнопка снова отображается.

Может кто-нибудь сказать мне, что вызывает проблему внутри функции?Спасибо!

DumpToExcel

private void DumpToExcel(DataSet dsReorder, DataSet dsShipment)
{
    try
    {
        using (ExcelPackage pck = new ExcelPackage())
        {
            List<string> dateColumns = new List<string>()
            {
                "LoadingDt",
                "ETAPortDt",
                "ROGDate",
                "DateRecd",
                "ExpectedShipDt",
                "LoadingDt",
                "RequestDate",
                "ShipDate",
                "PromiseDate"
            };

            ExcelWorksheet ws1 = pck.Workbook.Worksheets.Add(dsReorder.Tables[0].TableName);
            ws1.Cells["A1"].LoadFromDataTable(dsReorder.Tables[0], true);
            using (ExcelRange rng = ws1.Cells["A1:AG1"])
            {
                rng.Style.Font.Bold = true;
            }
            ExcelWorksheet ws2 = pck.Workbook.Worksheets.Add(dsShipment.Tables[0].TableName);
            ws2.Cells["A1"].LoadFromDataTable(dsShipment.Tables[0], true);
            FormatWorksheetData(dateColumns, dsShipment.Tables[0], ws2);
            using (ExcelRange rng = ws2.Cells["A1:AG1"])
            {
                rng.Style.Font.Bold = true;
            }
            ExcelWorksheet ws3 = pck.Workbook.Worksheets.Add(dsShipment.Tables[1].TableName);
            ws3.Cells["A1"].LoadFromDataTable(dsShipment.Tables[1], true);
            FormatWorksheetData(dateColumns, dsShipment.Tables[1], ws3);
            using (ExcelRange rng = ws3.Cells["A1:AG1"])
            {
                rng.Style.Font.Bold = true;
            }
            ExcelWorksheet ws4 = pck.Workbook.Worksheets.Add(dsShipment.Tables[2].TableName);
            ws4.Cells["A1"].LoadFromDataTable(dsShipment.Tables[2], true);
            FormatWorksheetData(dateColumns, dsShipment.Tables[2], ws4);
            using (ExcelRange rng = ws4.Cells["A1:AG1"])
            {
                rng.Style.Font.Bold = true;
            }

            string fileName = "RP_DataPull.xlsx";
            Response.Clear();
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
            Response.BinaryWrite(pck.GetAsByteArray());
        }
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }
}

btn_OnClick

protected void ibtnPullData_Click(object sender, ImageClickEventArgs e)
{
    //Acquire "DataTable"
    string cnAPStr = System.Configuration.ConfigurationManager.ConnectionStrings["conAP_SQLWeb"].ConnectionString; ;
    string queryReorder = "exec uspDataPull_ReorderPointInfo";
    string queryShipment = "exec uspDataPull_ShipmentsInfo";
    SqlConnection cn = new SqlConnection(cnAPStr);

    //ReorderPointInfo
    SqlDataAdapter daReorder = new SqlDataAdapter(queryReorder, cn);
    DataSet dsReorder = new DataSet();
    daReorder.Fill(dsReorder);
    dsReorder.Tables[0].TableName = "Reorder Point";

    //ShipmentsInfo
    SqlDataAdapter daShipment = new SqlDataAdapter(queryShipment, cn);
    DataSet dsShipment = new DataSet();
    daShipment.Fill(dsShipment);
    dsShipment.Tables[0].TableName = "Items in Shipment";
    dsShipment.Tables[1].TableName = "Open POs";
    dsShipment.Tables[2].TableName = "Open Sos";

    this.ibtnPullData.Style.Add("display", "inherit");

    DumpToExcel(dsReorder, dsShipment);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...