涓???Gridview涓?????瀹瑰?煎?哄??xcel
?????ㄦ?ュ父宸ヤ?涓?锛?缁?甯歌?灏?gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙???sp.net 2.0涓?锛????峰??浠ュ??逛究?板???板??翠釜gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙?涓????缁??跺?蜂???娉?锛?
????棣???锛?寤虹???烘????椤甸??efault.aspx
锛?form id="form1" runat="server"锛?
锛?div锛?
锛?asp:GridView ID="GridView1" runat="server"锛?
锛?/asp:GridView锛?
锛?/div锛?
锛?br/锛?
锛?asp:Button ID="BtnExport" runat="server" OnClick="BtnExport_Click"
Text="Export to Excel" /锛?
锛?/form锛?
??????efault.aspx.cs涓?锛????ュ?涓?浠g??锛?
protected void Page_Load(object sender, EventArgs e)
{
??if (!Page.IsPostBack)
??{
????BindData();
??}
}
private void BindData()
{
??string query = "SELECT * FROM customers";
??SqlConnection myConnection = new SqlConnection(ConnectionString);
??SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);
??DataSet ds = new DataSet();
??ad.Fill(ds, "customers");
??GridView1.DataSource = ds;
??GridView1.DataBind();
}
public override void VerifyRenderingInServerForm(Control control)
{
??// Confirms that an HtmlForm control is rendered for
}
protected void Button1_Click(object sender, EventArgs e)
{
??Response.Clear();
??Response.AddHeader("content-disposition","attachment;filename=FileName.xls");
??Response.Charset = "gb2312";
??Response.ContentType = "application/vnd.xls";
??System.IO.StringWriter stringWrite = new System.IO.StringWriter();
??System.Web.UI.HtmlTextWriter htmlWrite =new HtmlTextWriter(stringWrite);
??GridView1.AllowPaging = false;
??BindData();
??GridView1.RenderControl(htmlWrite);
??Response.Write(stringWrite.ToString());
??Response.End();
??GridView1.AllowPaging = true;
??BindData();
}
protected void paging(object sender,GridViewPageEventArgs e)
{
??GridView1.PageIndex = e.NewPageIndex;
??BindData();
}
?????ㄤ??㈢??浠g??涓?锛???浠?棣???灏?gridview缁?瀹??版??瀹????版??婧?涓?锛??跺????utton1??????锛??ㄦ?ュ??瀵煎?哄??XCEL??锛???浜?浠朵腑锛????ョ?稿?崇??浠g????杩???浣跨??esponse.AddHeader("content-disposition","attachment;filename= exporttoexcel.xls");涓???filename?ユ??瀹?灏?瑕?瀵煎?虹??excel????浠跺??锛?杩?????exporttoexcel.xls??瑕?娉ㄦ??????锛??变?gridview????瀹瑰???芥????椤垫?剧ず??锛???姝わ?杩????ㄦ??娆″?煎??xcel?讹???灏?gridview??allowpaging灞??ц?剧疆涓?false,?跺????杩?椤甸?㈡????瑰?瀵煎?哄???椤电??gridview??xcel涓?锛??????????拌?剧疆??llowpaging灞??с?????瑕?娉ㄦ??????锛?瑕???涓?涓?绌虹??VerifyRenderingInServerForm?规?锛?蹇?椤诲??锛?锛?浠ョ‘璁ゅ?ㄨ?琛??朵负??瀹???ASP.NET ???″?ㄦ?т欢????tmlForm ?т欢??
????浜???璁块??gridview涓?????绫绘?т欢
??????ridview涓?锛?缁?甯歌?璁块???朵腑????绫绘?т欢锛?姣?濡?dropdownlist,radiobutton,checkbox绛?锛?涓??㈠?绾充???ridview涓?璁块????绫绘?т欢???规???
????棣?????涓?濡?浣???ridview涓?璁块??dropdownlist?т欢????璁惧?ㄤ?涓?gridviw涓?锛?灞??扮??姣??¤?板?涓??介??瑕?渚??ㄦ?风?ㄤ??????╃???瑰?????dropdownlist?т欢涓?????瀹癸?????浠ヤ娇?ㄥ?涓?浠g??锛?褰??ㄦ?烽???╁ソgridview涓???dropdownlist?т欢????椤瑰??锛??瑰?绘????锛???绯荤????板?虹?ㄦ?峰?板????╀???浜?dropdownlist?т欢锛?骞惰??哄??浠????笺??
public DataSet PopulateDropDownList()
{
??SqlConnection myConnection =new SqlConnection(ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString);
??SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM tblPhone", myConnection);
??DataSet ds = new DataSet();
??ad.Fill(ds, "tblPhone");
??return ds;
}
????涓??㈢??浠g??棣???灏??版??搴?涓?tblphone琛ㄧ???版??浠?ataset??褰㈠?杩??????跺???ㄩ〉?㈢??itemtemplate涓?锛?濡?涓?璁捐?★?
锛?ItemTemplate锛?
锛?asp:DropDownList ID="DropDownList1" runat="server" DataSource="锛?%# PopulateDropDownList() %锛?"
DataTextField="Phone" DataValueField = "PhoneID"锛?
锛?/asp:DropDownList锛?
锛?/ItemTemplate锛?
????杩???娉ㄦ??dropdownlist?т欢??datasource灞??х?瀹?浜?????杩?????dataset锛?璋??ㄤ?populatedropdownlist()?规?锛?,骞惰?娉ㄦ??璁剧疆濂?atatextfield??datavaluefield灞??с??
?????跺??锛???utton??浜?浠朵腑锛????ヤ互涓?浠g??锛?
protected void Button2_Click(object sender, EventArgs e)
{
??StringBuilder str = new StringBuilder();
??foreach (GridViewRow gvr in GridView1.Rows)
??{
????string selectedText = ((DropDownList)gvr.FindControl("DropDownList1")).SelectedItem.Text;
????str.Append(selectedText);
??}
??Response.Write(str.ToString());
}
????杩???锛???浠??ㄥ惊??锛??ヨ?峰?姣?涓?琛???dropdownlist?т欢???硷?骞朵?灏??兼坊???板??绗?覆涓?????杈??恒??
?????ョ??锛???浠??ョ??涓?濡?浣?璁块??gridview?т欢涓???checkbox?т欢??缁?甯稿??ridview?т欢涓?锛???瑕?缁??ㄦ?峰?椤归???╃?????斤?杩?涓??跺??灏遍??瑕?浣跨??heckbox?т欢??棣?????浠?寤虹??涓?涓?妯$????锛??朵腑??checkbox濡?涓?锛?
锛?asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="PersonID" DataSourceID="mySource" Width="366px" CellPadding="4" ForeColor="#333333" GridLines="None"锛?
锛?Columns锛?
锛?asp:CommandField ShowSelectButton="True" /锛?
锛?asp:BoundField DataField="PersonID" HeaderText="PersonID" InsertVisible="False"
ReadOnly="True" SortExpression="PersonID" /锛?
锛?asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /锛?
锛?asp:TemplateField HeaderText="Select"锛?
锛?ItemTemplate锛?
锛?asp:CheckBox ID="chkSelect" runat="server" /锛?
锛?/ItemTemplate锛?
锛?HeaderTemplate锛?
锛?/HeaderTemplate锛?
锛?/asp:TemplateField锛?
锛?/Columns锛?
锛?/asp:GridView锛?
????涓轰?绀烘???у?拌?茶В濡?浣?寰??扮?ㄦ?烽???╃??checkbox锛???浠ュ???涓?涓?????锛?褰??ㄦ?烽????ridview涓?????椤瑰??锛??硅?ユ????锛?????浠ヨ??虹?ㄦ?烽??浜???浜???椤癸??ㄦ??????CLICK浜?浠朵腑???ュ?涓?浠g??锛?
for (int i = 0; i 锛? GridView1.Rows.Count; i++)
{
??GridViewRow row = GridView1.Rows[i];
??bool isChecked = ((CheckBox) row.FindControl("chkSelect")).Checked;
??if (isChecked)
??{
????str.Append(GridView1.Rows[i].Cells[2].Text);
??}
}
Response.Write(str.ToString());
?????ヤ??ワ???浠?娣诲??涓?涓??ㄩ???????╂?锛?褰??ㄦ?烽???╄?ユ??讹???浠ュ?ㄩ?ㄩ????ridview涓???checkbox.棣?????浠???eadtemplate涓?濡?涓?璁捐?★?
锛?HeaderTemplate锛?
锛?input id="chkAll" 慰nclick="javascript:SelectAllCheckboxes(this);" runat="server" type="checkbox" /锛?
锛?/HeaderTemplate锛?
????javascript?ㄥ????浠g??濡?涓???绀猴?
锛?script language=javascript锛?
function SelectAllCheckboxes(spanChk){
??var oItem = spanChk.children;
??var theBox=(spanChk.type=="checkbox")?spanChk:spanChk.children.item[0];
??xState=theBox.checked;
??elm=theBox.form.elements;
??for(i=0;i锛?elm.length;i++)
??if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
??{
????if(elm[i].checked!=xState)
????elm[i].click();
??}
}
锛?/script锛?
涓???Gridview涓?????瀹瑰?煎?哄??xcel
?????ㄦ?ュ父宸ヤ?涓?锛?缁?甯歌?灏?gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙???sp.net 2.0涓?锛????峰??浠ュ??逛究?板???板??翠釜gridview涓?????瀹瑰?煎?哄??xcel?ヨ〃涓??伙?涓????缁??跺?蜂???娉?锛?
????棣???锛?寤虹???烘????椤甸??efault.aspx
锛?form id="form1" runat="server"锛?
锛?div锛?
锛?asp:GridView ID="GridView1" runat="server"锛?
锛?/asp:GridView锛?
锛?/div锛?
锛?br/锛?
锛?asp:Button ID="BtnExport" runat="server" OnClick="BtnExport_Click"
Text="Export to Excel" /锛?
锛?/form锛?
??????efault.aspx.cs涓?锛????ュ?涓?浠g??锛?
protected void Page_Load(object sender, EventArgs e)
{
??if (!Page.IsPostBack)
??{
????BindData();
??}
}
private void BindData()
{
??string query = "SELECT * FROM customers";
??SqlConnection myConnection = new SqlConnection(ConnectionString);
??SqlDataAdapter ad = new SqlDataAdapter(query, myConnection);
??DataSet ds = new DataSet();
??ad.Fill(ds, "customers");
??GridView1.DataSource = ds;
??GridView1.DataBind();
}
public override void VerifyRenderingInServerForm(Control control)
{
??// Confirms that an HtmlForm control is rendered for
}
protected void Button1_Click(object sender, EventArgs e)
{
??Response.Clear();
??Response.AddHeader("content-disposition","attachment;filename=FileName.xls");
??Response.Charset = "gb2312";
??Response.ContentType = "application/vnd.xls";
??System.IO.StringWriter stringWrite = new System.IO.StringWriter();
??System.Web.UI.HtmlTextWriter htmlWrite =new HtmlTextWriter(stringWrite);
??GridView1.AllowPaging = false;
??BindData();
??GridView1.RenderControl(htmlWrite);
??Response.Write(stringWrite.ToString());
??Response.End();
??GridView1.AllowPaging = true;
??BindData();
}
protected void paging(object sender,GridViewPageEventArgs e)
{
??GridView1.PageIndex = e.NewPageIndex;
??BindData();
}
?????ㄤ??㈢??浠g??涓?锛???浠?棣???灏?gridview缁?瀹??版??瀹????版??婧?涓?锛??跺????utton1??????锛??ㄦ?ュ??瀵煎?哄??XCEL??锛???浜?浠朵腑锛????ョ?稿?崇??浠g????杩???浣跨??esponse.AddHeader("content-disposition","attachment;filename= exporttoexcel.xls");涓???filename?ユ??瀹?灏?瑕?瀵煎?虹??excel????浠跺??锛?杩?????exporttoexcel.xls??瑕?娉ㄦ??????锛??变?gridview????瀹瑰???芥????椤垫?剧ず??锛???姝わ?杩????ㄦ??娆″?煎??xcel?讹???灏?gridview??allowpaging灞??ц?剧疆涓?false,?跺????杩?椤甸?㈡????瑰?瀵煎?哄???椤电??gridview??xcel涓?锛??????????拌?剧疆??llowpaging灞??с?????瑕?娉ㄦ??????锛?瑕???涓?涓?绌虹??VerifyRenderingInServerForm?规?锛?蹇?椤诲??锛?锛?浠ョ‘璁ゅ?ㄨ?琛??朵负??瀹???ASP.NET ???″?ㄦ?т欢????tmlForm ?т欢??
????浜???璁块??gridview涓?????绫绘?т欢
??????ridview涓?锛?缁?甯歌?璁块???朵腑????绫绘?т欢锛?姣?濡?dropdownlist,radiobutton,checkbox绛?锛?涓??㈠?绾充???ridview涓?璁块????绫绘?т欢???规???
????棣?????涓?濡?浣???ridview涓?璁块??dropdownlist?т欢????璁惧?ㄤ?涓?gridviw涓?锛?灞??扮??姣??¤?板?涓??介??瑕?渚??ㄦ?风?ㄤ??????╃???瑰?????dropdownlist?т欢涓?????瀹癸?????浠ヤ娇?ㄥ?涓?浠g??锛?褰??ㄦ?烽???╁ソgridview涓???dropdownlist?т欢????椤瑰??锛??瑰?绘????锛???绯荤????板?虹?ㄦ?峰?板????╀???浜?dropdownlist?т欢锛?骞惰??哄??浠????笺??
public DataSet PopulateDropDownList()
{
??SqlConnection myConnection =new SqlConnection(ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString);
??SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM tblPhone", myConnection);
??DataSet ds = new DataSet();
??ad.Fill(ds, "tblPhone");
??return ds;
}
????涓??㈢??浠g??棣???灏??版??搴?涓?tblphone琛ㄧ???版??浠?ataset??褰㈠?杩??????跺???ㄩ〉?㈢??itemtemplate涓?锛?濡?涓?璁捐?★?
锛?ItemTemplate锛?
锛?asp:DropDownList ID="DropDownList1" runat="server" DataSource="锛?%# PopulateDropDownList() %锛?"
DataTextField="Phone" DataValueField = "PhoneID"锛?
锛?/asp:DropDownList锛?
锛?/ItemTemplate锛?
????杩???娉ㄦ??dropdownlist?т欢??datasource灞??х?瀹?浜?????杩?????dataset锛?璋??ㄤ?populatedropdownlist()?规?锛?,骞惰?娉ㄦ??璁剧疆濂?atatextfield??datavaluefield灞??с??
?????跺??锛???utton??浜?浠朵腑锛????ヤ互涓?浠g??锛?
protected void Button2_Click(object sender, EventArgs e)
{
??StringBuilder str = new StringBuilder();
??foreach (GridViewRow gvr in GridView1.Rows)
??{
????string selectedText = ((DropDownList)gvr.FindControl("DropDownList1")).SelectedItem.Text;
????str.Append(selectedText);
??}
??Response.Write(str.ToString());
}
????杩???锛???浠??ㄥ惊??锛??ヨ?峰?姣?涓?琛???dropdownlist?т欢???硷?骞朵?灏??兼坊???板??绗?覆涓?????杈??恒??
?????ョ??锛???浠??ョ??涓?濡?浣?璁块??gridview?т欢涓???checkbox?т欢??缁?甯稿??ridview?т欢涓?锛???瑕?缁??ㄦ?峰?椤归???╃?????斤?杩?涓??跺??灏遍??瑕?浣跨??heckbox?т欢??棣?????浠?寤虹??涓?涓?妯$????锛??朵腑??checkbox濡?涓?锛?
锛?asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" DataKeyNames="PersonID" DataSourceID="mySource" Width="366px" CellPadding="4" ForeColor="#333333" GridLines="None"锛?
锛?Columns锛?
锛?asp:CommandField ShowSelectButton="True" /锛?
锛?asp:BoundField DataField="PersonID" HeaderText="PersonID" InsertVisible="False"
ReadOnly="True" SortExpression="PersonID" /锛?
锛?asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /锛?
锛?asp:TemplateField HeaderText="Select"锛?
锛?ItemTemplate锛?
锛?asp:CheckBox ID="chkSelect" runat="server" /锛?
锛?/ItemTemplate锛?
锛?HeaderTemplate锛?
锛?/HeaderTemplate锛?
锛?/asp:TemplateField锛?
锛?/Columns锛?
锛?/asp:GridView锛?
????涓轰?绀烘???у?拌?茶В濡?浣?寰??扮?ㄦ?烽???╃??checkbox锛???浠ュ???涓?涓?????锛?褰??ㄦ?烽????ridview涓?????椤瑰??锛??硅?ユ????锛?????浠ヨ??虹?ㄦ?烽??浜???浜???椤癸??ㄦ??????CLICK浜?浠朵腑???ュ?涓?浠g??锛?
for (int i = 0; i 锛? GridView1.Rows.Count; i++)
{
??GridViewRow row = GridView1.Rows[i];
??bool isChecked = ((CheckBox) row.FindControl("chkSelect")).Checked;
??if (isChecked)
??{
????str.Append(GridView1.Rows[i].Cells[2].Text);
??}
}
Response.Write(str.ToString());
?????ヤ??ワ???浠?娣诲??涓?涓??ㄩ???????╂?锛?褰??ㄦ?烽???╄?ユ??讹???浠ュ?ㄩ?ㄩ????ridview涓???checkbox.棣?????浠???eadtemplate涓?濡?涓?璁捐?★?
锛?HeaderTemplate锛?
锛?input id="chkAll" 慰nclick="javascript:SelectAllCheckboxes(this);" runat="server" type="checkbox" /锛?
锛?/HeaderTemplate锛?
????javascript?ㄥ????浠g??濡?涓???绀猴?
锛?script language=javascript锛?
function SelectAllCheckboxes(spanChk){
??var oItem = spanChk.children;
??var theBox=(spanChk.type=="checkbox")?spanChk:spanChk.children.item[0];
??xState=theBox.checked;
??elm=theBox.form.elements;
??for(i=0;i锛?elm.length;i++)
??if(elm[i].type=="checkbox" && elm[i].id!=theBox.id)
??{
????if(elm[i].checked!=xState)
????elm[i].click();
??}
}
锛?/script锛?
?