gridview自建表頭系結資料,網頁上瀏覽OK。匯出到EXCEL的時候表頭那里就出問題了。
貼出問題部分的代碼,大家幫我看下。以下是建表頭的的部分代碼
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
string date1 = TextBox1.Text;
string date2 = TextBox2.Text;
switch (e.Row.RowType)
{
case DataControlRowType.Header:
//總表頭
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
//第一行表頭
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("bgcolor", "white");
tcHeader[0].Attributes.Add("BorderColor", "#333300");
tcHeader[0].Attributes.Add("BorderWidth", "1px");
tcHeader[0].Attributes.Add("colspan", "10"); //合并第一行的10列
tcHeader[0].Text = "BRT一號線站臺運量收入統計</th></tr><tr>";
//第二行表頭
tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("bgcolor", "white");
tcHeader[1].Attributes.Add("colspan", "10"); //合并第二行的10列
tcHeader[1].Text = TextBox1.Text + "~" + TextBox2.Text + "</th></tr><tr>";
......
}
}
以下是匯出檔案的代碼
private void Export1(GridView gvUser, string Style, string FileType, string FileName)
{
Response.ClearContent();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
Response.ContentType = FileType;
//page.Response.ContentType = "application/ms-excel";
Page.EnableViewState = false;
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
//turn off paging
gvUser.RenderControl(hw);
Response.Write(Style);
Response.Write(sw.ToString());
//page.Response.Flush();
Response.End();
}
如果把紅色字體那段換成tcHeader[1].Text = “2019-07-01” + "~" + “2019-07-07” + "</th></tr><tr>";就沒問題。表頭的內容只能寫死才能匯出嗎?這種動態系結的該怎么匯出?大神們優先就我用的建表頭的方法和匯出方法看該怎么改代碼

uj5u.com熱心網友回復:
報什么錯呢,除錯一下就可以了吧?uj5u.com熱心網友回復:
看圖啊,匯出的時候日期導不出來,程式上沒問題
TextBox1.Text=“2019-07-01”
TextBox2.Text=“2019-07-07”
tcHeader[1].Text = “2019-07-01” + "~" + “2019-07-07” + "</th></tr><tr>";
tcHeader[1].Text = TextBox1.Text + "~" + TextBox2.Text + "</th></tr><tr>";
這2個表頭創建的陳述句在匯出的時候有什么區別
uj5u.com熱心網友回復:
除錯一下看看TextBox1.Text 有沒值啊?uj5u.com熱心網友回復:
有值啊,第一張圖就是在網頁上除錯的時候查詢出來的結果,一切正常
下面一張圖就是匯出來的EXCEL檔案,第二行的日期就不見了
uj5u.com熱心網友回復:
改一下:string myText =TextBox1.Text + "~" + TextBox2.Text + "</th></tr><tr>";
tcHeader[1].Text =myText ;
這里打個斷點。
tcHeader[1].Text =myText ;
看一下myText 的值是什么。
不回打斷點?請按F9
uj5u.com熱心網友回復:
myText "2019-07-26~2019-07-30</th></tr><tr>" string
問題的癥結在于string myText =TextBox1.Text + "~" + TextBox2.Text + "</th></tr><tr>";取控制元件值匯出的時候就導不出TextBox1控制元件的值,
寫死tcHeader[1].Text = “2019-07-01” + "~" + “2019-07-07” + "</th></tr><tr>";匯出就沒問題
在網頁上顯示,包括斷點查詢2種方法tcHeader[1].Text的值都是對應的日期段。是不是我的匯出陳述句讀取不到TextBox控制元件的值?
uj5u.com熱心網友回復:
你的TextBox1不是服務器控制元件吧?換成服務器控制元件uj5u.com熱心網友回復:
TEXTBOX還能不是服務器控制元件?<asp:TextBox ID="TextBox1" runat="server" onclick="WdatePicker()"></asp:TextBox>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/130343.html
標籤:C#
