01-04-2011, 03:28 PM
GridView 不顯示全部欄位
只要在GridView加上 AutoGenerateColumns="False" 再搭配 <columns></columns>
這樣GridView就只會顯示一個客戶名稱
========================================================
GridView 加入排序功能
在 GridView 加入 AllowSorting="True" OnRowCreated="GridView1_RowCreated" 再搭配 C#
ASPX
ASPX.CS
========================================================
按鈕清除GridView內容
GridView1.DataSource不用設也可以
========================================================
1.在 <form runat="server"></form> 中插入GridView 和 Button
2. aspx.cs 加入 Button_Click 和 VerifyRenderingInServerForm
注意事項:
Response.ContentEncoding = System.Text.Encoding.Default;
Response.ContentEncoding = System.Text.Encoding.UTF8;
匯出檔案編碼為Default/UTF8時,EXCEL 2003讀取時會變亂碼
(但本身匯出的html是正常UTF-8)
解決方法:
把下面兩行註解掉或刪除
Response.Charset = "UTF-8";
Response.ContentType = "application/ms-excel";
取代為
這樣就會正常了,而且Excel打開時,字體也會正常
或者用匯出的檔案用UTF-7編碼
Response.ContentEncoding = System.Text.Encoding.UTF7;
當使用UTF7時,EXCEL 2003讀取正常
(但本身匯出的html是編碼過的,無法直接讀取)
只要在GridView加上 AutoGenerateColumns="False" 再搭配 <columns></columns>
程式碼:
<asp:GridView ID="GridView1" runat="server" autogeneratecolumns="False">
<columns>
<asp:BoundField ReadOnly="True" HeaderText="客戶名稱" InsertVisible="False" DataField="text4" SortExpression="text4">
</asp:BoundField>
</columns>
</asp:GridView>
========================================================
GridView 加入排序功能
在 GridView 加入 AllowSorting="True" OnRowCreated="GridView1_RowCreated" 再搭配 C#
ASPX
程式碼:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowSorting="True" OnRowCreated="GridView1_RowCreated">
========================================================
按鈕清除GridView內容
程式碼:
protected void Button2_Click(object sender, EventArgs e)
{
//GridView1.DataSource ="";
GridView1.DataBind();
}
========================================================
1.在 <form runat="server"></form> 中插入GridView 和 Button
2. aspx.cs 加入 Button_Click 和 VerifyRenderingInServerForm
程式碼:
protected void Button_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "Big5";
Response.AppendHeader("Content-Disposition", "attachment;filename=CustomerService.xls");
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
Response.ContentEncoding = System.Text.Encoding.Default;
Response.ContentEncoding = System.Text.Encoding.UTF8;
匯出檔案編碼為Default/UTF8時,EXCEL 2003讀取時會變亂碼
(但本身匯出的html是正常UTF-8)
解決方法:
把下面兩行註解掉或刪除
Response.Charset = "UTF-8";
Response.ContentType = "application/ms-excel";
取代為
程式碼:
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
Response.Write("\n<style type='text/css'>\ndiv {\nfont-family:'細明體';\n}\n</style>\n");
或者用匯出的檔案用UTF-7編碼
Response.ContentEncoding = System.Text.Encoding.UTF7;
當使用UTF7時,EXCEL 2003讀取正常
(但本身匯出的html是編碼過的,無法直接讀取)