0
나는 GridView를 가지고 있으며 코드 뒤에는 페이지의 Click Click 이벤트에 Excel 시트로 변환 중입니다 ......... 코드는 다음과 같습니다. aspx. 다음과 같이 Excel로 변환하는 동안 GridView에서 열 제거
<form id="form1" runat="server">
<table width="1100" border="0" cellpadding="0" cellspacing="0" style="height:100%; background-color:White" align="center">
<tr><td> </td></tr>
<tr>
<td align="center">
<asp:Button ID="DividendEportToExcel" runat="server" Text="Convert To Excel"
CssClass="bluesome" onclick="DividendEportToExcel_Click" />
</td>
</tr>
<tr>
<td>
<asp:GridView ID="MemberDividendView" runat="server">
</asp:GridView>
</td>
</tr>
</table>
</form>
그리고 코드에
내가 뭐하는 거지 뒤에 :protected void DividendEportToExcel_Click(object sender, EventArgs e)
{
MemberDividendView.Columns.RemoveAt(5);
MemberDividendView.ShowHeader = true;
MemberDividendView.GridLines = GridLines.Both;
MemberDividendView.PagerSettings.Visible = false;
MemberDividendView.DataBind();
ChangeControlsToValue(MemberDividendView);
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=AdjustmentDetialsToExcel.xls");
Response.ContentType = "application/excel";
StringWriter sWriter = new StringWriter();
HtmlTextWriter hTextWriter = new HtmlTextWriter(sWriter);
HtmlForm hForm = new HtmlForm();
MemberDividendView.Parent.Controls.Add(hForm);
hForm.Attributes["runat"] = "server";
hForm.Controls.Add(MemberDividendView);
hForm.RenderControl(hTextWriter);
Response.Write(sWriter.ToString());
Response.End();
}
private void ChangeControlsToValue(Control gridView)
{
Literal literal = new Literal();
for (int i = 0; i < gridView.Controls.Count; i++)
{
if (gridView.Controls[i].GetType() == typeof(LinkButton))
{
literal.Text = (gridView.Controls[i] as LinkButton).Text;
gridView.Controls.Remove(gridView.Controls[i]);
//gridView.Controls.AddAt(i,literal);
}
else if (gridView.Controls[i].GetType() == typeof(DropDownList))
{
literal.Text = (gridView.Controls[i] as DropDownList).SelectedItem.Text;
gridView.Controls.Remove(gridView.Controls[i]);
//gridView.Controls.AddAt(i,literal);
}
else if (gridView.Controls[i].GetType() == typeof(CheckBox))
{
literal.Text = (gridView.Controls[i] as CheckBox).Checked ? "True" : "False";
gridView.Controls.Remove(gridView.Controls[i]);
//gridView.Controls.AddAt(i,literal);
}
if (gridView.Controls[i].HasControls())
{
ChangeControlsToValue(gridView.Controls[i]);
}
}
}
을하지만 여전히 내 열은 엑셀 시트에서 삭제되지 않는 ........ 오류는 무엇인가 ??
MemberDividendView.Columns.RemoveAt (5)가가 MemberDividendView.Columns 시도 –
엑셀로 변환하면서 난의 gridview에서 특정 항목을 삭제하기위한 무슨 [5] .Visible = 거짓; –
Shoaib 나는 그것을 시도했지만 여전히 작동하지 않는다 –