Come generare le colonne modello in GridView

February 27

GridView è un controllo ASP.NET che visualizza i dati dal database e file XML in forme. Aiuta anche con la manipolazione delle forme. Incorporando i modelli in GridView aggiunge controllo visivo al sistema di elaborazione dei dati formidabili. GridView mostra i campi del database come colonne della tabella, e visualizza le voci del database come righe della tabella. GridView formatta dinamicamente le colonne con i modelli specificati. I modelli sono entrambi inclusi da fonti esterne o programmati in classi all'interno del file ASP.NET. Fortunatamente, è possibile utilizzare qualsiasi editor di codice o un editor di testo semplice scrivere codice ASP. Questo comprende il Blocco note, che è nativo di Windows.

istruzione

1 Notepad lancio facendo clic su "Start" seguito da "Tutti i programmi", "Accessori" e "Blocco note".

2 Creare una classe template che genererà le colonne dinamici per il GridView inserendo il seguente codice nell'editor di codice:

<%

Classe GridViewTemplate pubblico: ITemplate

{

ListItemType _templateType;

stringa _columnName;

GridViewTemplate pubblico (tipo listItemType, stringa colname)

{

_templateType = tipo;

_columnName = colname;

}

annullare ITemplate.InstantiateIn (contenitore System.Web.UI.Control)

{

interruttore (_templateType)

{

caso ListItemType.Header:

Etichetta LBL = new Label ();

lbl.Text = _columnName;

container.Controls.Add (LBL);

rompere;

caso ListItemType.Item:

TextBox tb1 = new TextBox ();

tb1.DataBinding + = new EventHandler (tb1_DataBinding);

tb1.Columns = 4;

container.Controls.Add (tb1);

rompere;

caso ListItemType.Footer:

CheckBox chkColumn = nuova casella di controllo ();

chkColumn.ID = "Chk" + _columnName;

container.Controls.Add (chkColumn);

rompere;

}

}

tb1_DataBinding void (object sender, EventArgs e)

{

TextBox txtData = (TextBox) mittente;

contenitore GridViewRow = (GridViewRow) txtdata.NamingContainer;

object DataValue = DataBinder.Eval (Container.DataItem, _columnName);

if (DataValue! = DBNull.Value)

{

txtdata.Text = dataValue.ToString ();

}

}

}

%>

3 Creare una tabella HTML con una dichiarazione ASP GridView inserendo il seguente codice nell'editor di codice dopo il codice discusso in precedenza:

<Table border = "0" cellpadding = "0" cellspacing = "0">

<Tr>

<Td>

<Asp: GridView ID = "<Grid nome>" runat = "server" AutoGenerateColumns = "false">

<Columns>

</ Colonne>

</ Asp: GridView>

</ Td>

</ Tr>

</ Table>

Sostituire <nome della griglia> con il nome che si desidera assegnare alla rete. Non ci dovrebbero essere spazi, e tutte le parole devono essere capitalizzati.

4 Generare colonne template dinamicamente nel GridView con il seguente codice inserendo il seguente codice nell'editor di codice dopo il codice dal punto 3:

<%

dt DataTable = new DataTable ();

foreach (col DataColumn in dt.Columns)

{

TemplateField bfield = new TemplateField ();

bfield.HeaderTemplate = new GridViewTemplate (ListItemType.Header, col.ColumnName);

bfield.ItemTemplate = new GridViewTemplate (ListItemType.Item, col.ColumnName);

GrdDynamic.Columns.Add (bfield);

}

GrdDynamic.DataSource = dt;

GrdDynamic.DataBind ();

%>

5 Fai clic su "File", seguito da "Salva con nome" per salvare il file. Passare a qualsiasi directory. Dare un nome al file con estensione "asp", e quindi premere "Invio".