ASP.NET GridView控件匯出EXCEL-移除控件,只是顯示文本

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);
            }
        }
    }

posted @ 2011-02-22 17:15  yellowwood  阅读(380)  评论(0编辑  收藏  举报
Never Give UP