In alcune applicazioni può ritornare utile il differenziare visivamente un ltesto rispetto ad un altro, ad esempio per rendere più visibili le pratiche scadute, i pagamenti non effettuati, etc.
In questo esempio vengono estratti i dati dalla tabella sales del database pubs, mostrati all'interno di un DataGrid.
Viene intercettato l'evento ItemDataBound, che si verifica quando i dati vengono associati al control, e recuperata (per posizione) la terza cella, quella che contiene la data.
Nel caso in cui l'anno sia uguale al 1993 viene cambiato il colore di sfondo.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<SCRIPT language="C#" runat="server">
// stringa di conn
string connstring = @"server=localhost;database=pubs;trusted_connection=true;";
void Page_Load () {
// estrazione dati
bindData() ;
}
// routine di estrazione dati
void bindData () {
// connessione
SqlConnection conn = new SqlConnection(connstring);
// query
SqlDataAdapter query = new SqlDataAdapter("SELECT * FROM sales", conn);
// creo il dataset
DataSet querydataset = new DataSet();
query.Fill(querydataset);
myDataGrid.DataSource = querydataset;
myDataGrid.DataBind ( );
}
private void myDataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
{
// solo su Item e Alternating Item
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
// recupero il valore della terza colonna
string valore = ((TableCell) e.Item.Cells[2]).Text;
if (DateTime.Parse(valore).Year == 1993) {
e.Item.Style["background-color"] = "yellow";
}
}
}
</SCRIPT>
<form runat="server">
<ASP:DataGrid id="myDataGrid" runat="server"
CellPadding = "3"
HeaderStyle-BackColor="#336699"
HeaderStyle-Font-Size="Large"
EditItemStyle-BackColor="yellow"
ItemStyle-BackColor="lightsteelblue"
AlternatingItemStyle-BackColor="lightgray"
AutoGenerateColumns="true"
onItemDataBound="myDataGrid_ItemDataBound" />
</form>- Membership API per SQL Server anche senza dbo
- Disponibile parte del codice sorgente del Framework
- WPF: dal DataBinding ai Template - Prima parte
- #944 - Inviare file di grandi dimensioni con un HttpHandler di ASP.NET
- Architettura del software: le applicazioni web a tre livelli
- #948 - Recuperare l'ID del controllo che ha scatenato l'AsyncPostBack con ASP.NET AJAX
- Membership e Profile API con ASP.NET AJAX
- Piccoli grandi VWD Express 2008 crescono
- WPF: dal DataBinding ai Template - Seconda parte
- ASP.NET 3.5 Application Services (Membership, Roles, Profile API) sotto Classic ASP con IIS 7.0
- I bug di ASP.NET AJAX 1.0 risolti con ASP.NET AJAX 3.5
- Esportazione di pagine ed allegati in formato MIME
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.








Stampa
Snippet
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!