Come stampare un DataGrid in ASP.NET

September 18

Come stampare un DataGrid in ASP.NET


controllo DataGrid di ASP.NET "GridView" consente agli utenti di visualizzare i dati tabulari modo rapido ed efficiente. Basta puntare la griglia a una fonte di dati, come ad esempio una tabella di dati, e ASP.NET popola la griglia con i dati. DataGrid non sono dotati di funzionalità di stampa. Si potrebbe prendere una serie di screenshot e stampare quelli, ma avrebbe richiesto tempo. Utilizzando Javascript e il metodo "RenderControl" di ASP.NET, è possibile stampare un intero DataGrid con un clic di un pulsante.

istruzione

Crea griglia per il test.

1 Avviare Visual Studio e fare clic su "File". Fai clic su "Nuovo" e quindi su "Sito Web". Fai clic su "Visual C #" per selezionarlo e quindi fare doppio clic "Sito Web ASP.NET." Visual Studio crea un nuovo progetto e colloca i suoi file nella finestra "Solution Navigator".

2 Fare clic sul pulsante "Sito" nella parte superiore di Visual Studio per visualizzare un menu. Fai clic su "Aggiungi nuovo elemento"

3 Fai clic su "Visual C #", e quindi fare clic su "Web Form" per evidenziare quel valore.

4 Tipo "PrintGridTest.aspx" nella casella di testo "Nome" e fare clic su "Aggiungi". Visual Studio aggiunge un nuovo modulo Web denominato "PrintGridTest.aspx": al progetto. Essa appare nella finestra "Solution Navigator". Il codice HTML per quel file viene visualizzato nell'editor di codice.

5 Individuare il "<form>" tag in quel codice, e incollare il seguente codice dopo il tag:

<Div>

<Asp: GridView ID = "GridView1" runat = "server" EmptyDataText = Altezza "test" = "184px"

Width="302px">

& Lt; / asp: GridView>

</ Div>

Questo crea una griglia di dati GridView.

6 Fare clic sul pulsante "Design" in fondo a Visual Studio per passare alla visualizzazione progettazione. Una forma appare la visualizzazione della griglia. Fai clic su "Visualizza", e quindi fare clic su "Strumenti" per aprire la finestra "Toolbox". Individuare il controllo denominato "Button" e fare doppio clic su di esso. La finestra "Toolbox" si chiude e Visual Studio aggiunge un nuovo pulsante al form.

7 Fare doppio clic su tale pulsante. La finestra del codice si apre e posiziona il cursore nel metodo "Button1_Click".

Aggiungere stampa Logic.

8 Incollare il seguente codice all'interno del corpo del metodo:

System.Data.DataTable Auto = new System.Data.DataTable ();

Cars.Columns.Add (nuova System.Data.DataColumn ( "Make", typeof (string))); Cars.Columns.Add (nuova System.Data.DataColumn ( "Color", typeof (string)));

Cars.Rows.Add (new string [] { "Mustang", "Rosso"});

Cars.Rows.Add (new string [] { "Lexus", "Blue"});

GridView1.DataSource = Auto;

GridView1.DataBind ();

GridView1.PagerSettings.Visible = false;

GridView1.DataBind ();

Questo crea una fonte DataTable denominata "Cars" e lo popola con auto rende e colori.

9 Incollare il seguente codice sotto il codice mostrato nel passaggio precedente:

System.IO.StringWriter StringWriter = new System.IO.StringWriter ();

HtmlTextWriter scrittore = new HtmlTextWriter (StringWriter);

System.Text.StringBuilder htmlCode = new System.Text.StringBuilder ();

GridView1.RenderControl (scrittore);

citazione stringa = "\" ";

stringa singleQuote = " '";

stringa gridTable = stringWriter.ToString ();

gridTable = gridTable.Replace (citazione, singleQuote);

gridTable = gridTable.Replace (System.Environment.NewLine, "");

htmlCode.Append ( "<" text / javascript 'tipo di script => ");

htmlCode.Append ( "window.onload = new function () {");

htmlCode.Append ( "VaR popup = window.open ( '', '', ', width = 700, height = 500');");

htmlCode.Append ( "popup.document.write (\" ");

htmlCode.Append (gridTable + "\"); ");

htmlCode.Append ( "popup.document.close ();");

stringa ENDSTRING = "popup.focus (); popup.print (); popup.close ();}; </ script>";

htmlCode.Append (ENDSTRING);

stringa htmlCodeString = htmlCode.ToString ();

ClientScript.RegisterStartupScript (this.GetType (), "stampa", htmlCodeString);

Questo codice crea un oggetto "HtmlTextWriter". Il metodo "RenderControl" utilizza l'oggetto per creare una stringa HTML che contiene la tabella che contiene i dati della griglia. Il StringBuilder, "htmlCode," crea un breve programma JavaScript che crea una finestra pop-up. Questo popup visualizzata la tabella di resa con il metodo "RenderControl". Il codice apre il popup e le questioni il comando "stampa" che stampa la griglia.

10 Copiare il seguente codice e incollarlo dopo che il metodo "" Button1_Click ":

public override vuoto VerifyRenderingInServerForm (Control)

{} Questo codice impedisce possibile "controllo deve esistere all'interno di un server" errori di tag che possono verificarsi durante l'utilizzo del metodo del "RenderControl" per stampare la griglia.

11 Premere il tasto "F5" per eseguire il progetto. Il browser si apre e visualizza un vuoto contenente un pulsante.

12 Fare clic sul pulsante. Il codice popola la griglia con i dati e apre una finestra "Stampa". Fai clic su "Stampa" per stampare la griglia di dati.

Consigli e avvertenze

  • Quando si fa clic su "Stampa", si apre la finestra di dialogo di stampa predefinita. Ci si può scegliere "Paesaggio", "ritratto" o altre impostazioni per personalizzare la stampa.