Archive for the ‘ASP.NET’ Category

Grafici .NET

Tuesday, November 25th, 2008 No Commented

Under : , , , , , ,

Nell’ultimo anno di lavoro ho utilizzato in maniera molto approfondita tre componenti per generare  grafici su tecnologia ASP.NET: ZedGraph, Infragistics, DundasChart. La scelta di un componente per la creazione di grafici è spesso delicata. Una valutazione errata puo portare a risultati che non soddisfano le esigenze.
ZedGraphZedGraph ha come punto di forza l’essere gratis. Offre una gamma di grafici abbastanza ampia ma che non copre la totalità delle necessità di uno sviluppatore. I grafici a disposizione sono Bar Chart, Line Chart e Pie Chart. Mancano Gantt e Gauge ed  è possibile disegnare solo grafici 2D. Purtroppo ad oggi l’ultima release risale al 28 Novembre 2007, quindi da quasi un anno il progetto sembra essere fermo alla versione 5.1.4.
Per chi non ha budeget da spendere e deve creare grafici semplici ed essenziali perdendo però più tempo per personalizzarli è sicuramente una buona scelta.
Net AdvantageInfragistics fornisce 35 controlli ASP.NET davvero utili e totalmente compatibili con ajax. Tra i tanti ci sono i grafici (UltraChart, UltraGauge) che offrono un alto livello di customizzazione. Infatti non è possibile acquistare esclusivamente solo i componenti grafici ma è necessario acquistare tutta la suite.  L’infragistics, parlando dei grafici sul suo sito, scrive testualmente:

Over 50 2D and 3D Chart Types.
Design-time Convenience – Custom wizard for designing single-layer or multi-layer charts, with optimized default presets to ensure you will make the best presentation of the chart type you have chosen to display.
Composite Charting – Build complex charts with Series Collections, Chart Area Collections and Chart Layers Collections.
Advanced Graphics – Use Anti-Aliasing, Alpha-Blending, Solid 3D, 2D or our custom Paint Elements to design the highest quality visual appearance.
Multiple Rendering – Choose from multiple image types for rendering as well as SVG and SWF
.” Non mi sembra poco!
NetAdvantage for ASP.NET è un’ottima scelta sia per il costo che per la quantità e qualità dei controlli offerti.

Dundas ChartDundas Chart copre la totalità delle rappresentazioni grafiche con ottimi risultati da tutti i punti di vista. Davvero impressionante la funzionalità dello zoom (non presente negli altri), ottenuta trascinando il cursore del mouse lungo un’area del grafico. Pacchetti separati da quello “chart” sono Dundas Gauge e Dundas Map. Ottima scelta per chi ha soldi da spendere e pretende risultati ai massimi livelli.Tra i tre componenti grafici analizzati finora Dundas vince senza dubbio in termini di performance e di copiosità di grafici ma ha un costo piuttosto elevato, mentre Infragistic è un ottimo compromesso tra le performance e il prezzo in quanto ci fornisce oltre ai grafici tanti componenti aggiuntivi.



Infragistics WebNumericEdit – come cambiare il Group Separator

Tuesday, May 20th, 2008 No Commented

Under :

Il pacchetto di strumenti fornito da Infragistics è molto vasto e da tante possibilità in più allo sviluppatore, rendendogli al vita più facile. Uno di questi strumenti è il WebNumericEdit: una sorta di textbox abilitata al solo editing di numeri. Di default questo controllo utilizza un comma per separare le gruppi di numeri. Ad esempio rappresenta 2008 come 2.008. In molti casi (ad esempio se i numeri rappresentano delle quantità) questa cosa puo risultare utile, in altri no. Il 2008 in questa occasione voleva rappresentare l’anno solare, quindi è ovvio che 2.008 non ha molto senso.
E’ possibile cambiare il separator con un altro carattere oppure eliminarlo sostituendono con una stringa vuota in questo modo:
Come prima cosa bisogna aggiungere il riferimento a System.Globalization e poi inseireil codice sottostante dove MyWebNumericEdit è evidentemente il controllo in oggetto,

NumberFormatInfo numInfo = new NumberFormatInfo();
numInfo.NumberGroupSeparator = “”;
this.MyWebNumericEdit.NumberFormat = numInfo;

Maximum request length exceeded ASP.NET

Thursday, February 14th, 2008 No Commented

Questo errore non è molto comune, ma è parecchio fastidioso. Si genera nel momento in cui vengono mandate troppe informazioni al server web, ad esempio un upload di un file troppo grande. La soluzione più veloce consiste nell’aumentare la quota di spazio per la request inserendo una variabile nel web.config:

<configuration>

  <system.web>

 <httpRuntime maxRequestLength="2097151"/>

Il valore “2097151″ ~= 2 Gb è il massimo per un appicazione di tipo ASP.NET 2.0

WatiN ASP.NET Interop.SHDocVw.dll

Saturday, January 19th, 2008 No Commented

Ieri stavo facendo dei tests di navigazione alla web application che sto sviluppando. I tests sfruttano la tecnologia WatiN. I test fallivano puntualmente segnalandomi l’assenza dell’assembly Interop.SHDocVw.ddl senza del quale il test non aveva la possibilità di istanziare Internet Explorer. Il problema è velocemente risolvibile copiando l’asssembly di WatiN da C:\Programmi\WatiN\1.1.0-net-2.0\bin nella directory degli assembly del progetto di test.

Focus controlli con RadioList

Monday, June 11th, 2007 No Commented

Gestendo alcuni controlli in ASP.NET mi è sorta la necessità di spostare il focus su determinati controlli in base alle scelte dell’utente nella pagina. Un semplice esempio puo essere quello di spostare il focus su un controllo in base alla scelta di un determinato radio button. Ho creato una semplice pagina in cui è presente una RadioList con due Items e due textbox con due label annessi.

La Radiolist ha due scelte: Cane/Gatto e Nessuno. L’utente può indicare se ha un animale o se non lo ha. Se viene scelto Cane/Gatto il focus si sposta sulla textbox dove si indica la razza dell’animale, altrimenti se si va su Nessuno di passa ad un altro ipotetico controllo (la nostra seconda textbox). Come mostrato nella figura sotto.

focus.jpg

Per rendere più simpatico il tutto ho pensato di cambiare il colore, nel caso della seconda scelta, il colore della textbox per la razza dell’animale in grigio e poi di disabilitare la stessa textbox. Per fare ciò bastano queste poche righe di codice:

 

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (RadioButtonList1.SelectedValue == "Cane/Gatto")
{
TextBox2.Focus();
TextBox1.BackColor = System.Drawing.Color.Gray;
TextBox1.Enabled = false;
}
else
TextBox1.BackColor = System.Drawing.Color.White;
TextBox1.Enabled = true;
TextBox1.Focus();
}

Nel corpo dell’ else riporto il colore della prima texbox a white e la riabilito. ciò non è necessario se il visitatore sceglie per la prima volta Cane/Gatto nella radiolist1, ma nel caso in cui dopo aver scelto nessuno cambi idea e reimposti la sua scelta a Cane/Gatto.
Carino vero?