ASP.NET GridView控件匯出EXCEL-移除控件,只是顯示文本
下午 05:10 2011/2/22
將GridView中的TextBox,DropDownList,LinkButton去掉,顯示文本。
public void ClearGridControls(ref Control sourceControl)
{
for (int i = sourceControl.Controls.Count - 1; i >= 0; i += -1)
{
Control control = sourceControl.Controls[i];
ClearGridControls(ref control);
}
if (!(sourceControl is TableCell))
{
Literal literal;
if (sourceControl.GetType().GetProperty("SelectedItem") != null)
{
//
// 下拉框
//
literal = new Literal();
// 顯示文本
sourceControl.Parent.Controls.Add(literal);
// 取內容
literal.Text = Convert.ToString(sourceControl.GetType().GetProperty("SelectedItem").GetValue(sourceControl, null));
// 移除
sourceControl.Parent.Controls.Remove(sourceControl);
}
else if (sourceControl.GetType().GetProperty("Text") != null)
{
//
// 文本框
//
literal = new Literal();
sourceControl.Parent.Controls.Add(literal);
literal.Text = Convert.ToString(sourceControl.GetType().GetProperty("Text").GetValue(sourceControl, null));
sourceControl.Parent.Controls.Remove(sourceControl);
}
}
}