[2.0-C#] - E' possibile cambiare il colore di sfondo di una cella dell...

mercoledì 23 settembre 2009 - 17.07

Anonimo Profilo | Senior Member

Ciao!

Vorrei sapere se è possibile cambiare il colore di una cella della table da codice c#.
Mi serve per identificare che un giorno sia festivo o meno.
Se avete altre idee sono ben gradite.
Grazie!

alx_81 Profilo | Guru

>Ciao!
Ciao

>Vorrei sapere se è possibile cambiare il colore di una cella della table da codice c#.
che table? è un ASP:Table?
se sì, basta dare un id ed un runat server e poi puoi tranquillamente accedere alle celle per cambiare lo sfondo..

>Mi serve per identificare che un giorno sia festivo o meno.
Hai già una funzione per le festività?

>Grazie!
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

samar Profilo | Senior Member

Utilizzare il controllo Calendar? e magari la sua estensione ajax? Nell'evento DayRender puoi fare quello che vuoi a una cella/giorno...
e le festività te le segna lui in automatico

Anonimo Profilo | Senior Member

>Utilizzare il controllo Calendar? e magari la sua estensione
>ajax? Nell'evento DayRender puoi fare quello che vuoi a una cella/giorno...
>e le festività te le segna lui in automatico

No ma in pratica ho nella prima riga i giorni del mese, e nelle righe seguenti un insieme di dati. Se per esempio ho selezionato nel controllo Calendar il mese di Gennaio mi caricano sulla prima riga della tabella i giorni del mese, quindi da 1 a 31. Siccome l'1 è festivo, e anche il 6, vorrei fare in modo che queste due colonne siano identificate come tali, con un colore diverso.

@Alx: no, non è una asp:table, ma una semplice <table> html.
Riguardo la funzione, qualcosa in mente ce l'ho.. tu avresti qualcosa in mente di veloce?

alx_81 Profilo | Guru

>@Alx: no, non è una asp:table, ma una semplice <table> html.
allora devi fare un <table runat="server" id="id_tabella">. In questo modo lo potrai usare lato server sul tuo code behind.
Per conoscere i membri dell'oggetto HTMLTable vai qui:
http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable_members(VS.71).aspx

Dovresti trovare facilmente l'insieme delle Rows
http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable.rows(VS.71).aspx

e poi delle colonne per la riga:
http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable_members(VS.71).aspx

>Riguardo la funzione, qualcosa in mente ce l'ho.. tu avresti
>qualcosa in mente di veloce?
secondo me se cerchi su internet in tanti avranno fatto una funzione che serve al tuo scopo, dipende poi che festività ti servono..
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

Grazie mille.
Per le festività intendo quelle fisse, tipo natale, santo stefano, capodanno ecc ecc. In ogni caso so quali sono, domani cercherò se ce ne sono di funzioni del genere in rete.

Anonimo Profilo | Senior Member

C'è un problema. Questa tabella la dovrei esportare in Word. Sul sito riesco a visualizzare il colore impostato sulla cella, ma una volta esportata la tabella in Word non lo vedo, cioè vedo la cella bianca come le altre.
Ecco il codice:

MainTable.Rows[2].Cells[3].BgColor = "Green";

alx_81 Profilo | Guru

>C'è un problema. Questa tabella la dovrei esportare in Word.
>Sul sito riesco a visualizzare il colore impostato sulla cella,
>ma una volta esportata la tabella in Word non lo vedo, cioè vedo
>la cella bianca come le altre.
>Ecco il codice:
>
>MainTable.Rows[2].Cells[3].BgColor = "Green";
E come la esporti in word?

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

protected void lbExport_Click(object sender, EventArgs e) { DisableControls(MainTable); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=tabella.doc"); Response.ContentType = "application/word"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); MainTable.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); }

Con questo metodo.

Ho scelto word anziché excel perché viene meglio. Infatti si vede benissimo la tabella, peccato per il colore della cella che non è verde ma bianco.

Anonimo Profilo | Senior Member

Up..

alx_81 Profilo | Guru

>Up..
hai provato a debuggare e a controllare cosa c'è effettivamente nell'html prodotto?

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

Ehm.. in che senso?

alx_81 Profilo | Guru

>Ehm.. in che senso?
usa il debug di visual studio e controlla cosa ti crea quell'htmlwriter.
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Anonimo Profilo | Senior Member

Mi hai fatto venire in mente una cosa.. quella riga di codice dove impostavo il colore della cella lo mettevo nell'evento Calendar1_DayRender, e quindi credo fosse per questo che non me lo passava su word, cosa strana però.
Ho provato a metterlo altrove, più precisamente nel Calendar1_SelectionChanged e ora "magicamente" va.
Grazie!

alx_81 Profilo | Guru

>Ho provato a metterlo altrove, più precisamente nel Calendar1_SelectionChanged
>e ora "magicamente" va.
>Grazie!
di nulla, se ti ha aiutato accetta la risposta così chiudiamo il thread.

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5