Beispiel #1
0
        private static Table RenderGrid(GridView grd)
        {
            // Create a form to contain the grid
            Table table = new Table();

            table.GridLines = grd.GridLines;

            // add the header row to the table
            if (grd.HeaderRow != null)
            {
                ExportToXls.PrepareControlForExport(grd.HeaderRow);
                table.Rows.Add(grd.HeaderRow);
            }

            // add each of the data rows to the table
            foreach (GridViewRow row in grd.Rows)
            {
                //to allign top
                row.VerticalAlign = VerticalAlign.Top;
                ExportToXls.PrepareControlForExport(row);
                table.Rows.Add(row);
            }

            // add the footer row to the table
            if (grd.FooterRow != null)
            {
                ExportToXls.PrepareControlForExport(grd.FooterRow);
                table.Rows.Add(grd.FooterRow);
            }
            return(table);
        }
Beispiel #2
0
        private static void PrepareControlForExport(Control control)
        {
            for (int i = 0; i < control.Controls.Count; i++)
            {
                Control current = control.Controls[i];
                if (current is GridView)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, RenderGrid((GridView)current));
                }
                if (current is LinkButton)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as LinkButton).Text));
                }
                if (current is Button)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as Button).Text));
                }

                else if (current is ImageButton)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as ImageButton).AlternateText));
                }
                else if (current is HyperLink)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as HyperLink).Text));
                }
                else if (current is DropDownList)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as DropDownList).SelectedItem.Text));
                }
                else if (current is CheckBox)
                {
                    control.Controls.Remove(current);
                    control.Controls.AddAt(i, new LiteralControl((current as CheckBox).Checked ? "Da" : "Nu"));
                }

                if (current.HasControls())
                {
                    ExportToXls.PrepareControlForExport(current);
                }
            }
        }