Se si ha la necessità di dover unire più assembly in un unico file, può tornare utile l'utility ILMerge che come si può capire facilmente dal nome permette di fare il merge di più assembly.
Funziona tramite riga di comando, oppure per i più pigri esiste Gilma un progetto pubblicato su CodeProject, che presenta un'interfaccia grafica semplice da usare e decisamente comoda.
Labels
- .Net Framework 3.5 (7)
- Asp.Net 1.1 (21)
- Asp.Net 2.0 (44)
- Asp.Net 3.5 (23)
- Asp.Net Ajax (6)
- Asp.Net MVC (4)
- Biztalk (2)
- Blend (5)
- C# (26)
- css (10)
- DB2 (3)
- Framework 1.1 (10)
- Framework 2.0 (9)
- IE 7.0 (5)
- Interop Office (2)
- javascript (29)
- Library (11)
- Links (19)
- LINQ (1)
- Micro Framework (2)
- Microsoft (57)
- Microsoft Expression (3)
- Mobile (14)
- Office (9)
- Oracle (1)
- Photosynth (3)
- PowerShell (6)
- Regular Expression (2)
- Sharepoint 2007 (8)
- Silverlight (34)
- SQL Server 2000 (6)
- SQL Server 2005 (5)
- SQL Server 2008 (3)
- Tools (34)
- varie (46)
- VB.NET (19)
- Virtual Earth (10)
- VS 2003 (6)
- Vs 2005 (12)
- VS 2008 (20)
- VS 2010 (1)
- web (48)
- Windows (3)
- Windows Media Center (4)
- Workflow Foundation (14)
- WPF (20)
Wednesday, October 31, 2007
ILMerge
Etichette: ToolsNuovo sito Windows Mobile
Lanciato un nuovo sito per Windows Mobile veramente stellare(cit):
Tuesday, October 30, 2007
Gatineau beta invito
Etichette: MicrosoftAvevo già parlato del servizio Gatineau la risposta di Microsoft a Google Analytics, ma adesso è possibile iscriversi a Gatineau beta per ricevere un invito.
Read More »»Sunday, October 28, 2007
Ajax: simultaneous asynchronous requests
Etichette: Asp.Net AjaxQualche giorno fa mi son imbattuto in un comportamento alquanto "strano" dell'oggetto XMLHttpRequest che non son ancora riuscito a comprendere del tutto.
In sostanza dovevo ciclare sulle righe di un controllo DataGrid, inizializzare l'oggetto request da inviare al server e ricevere N risposte.
Inizialmente il codice lato client era così strutturato:
<script language="javascript">
var req = null;
function sendData()
{
var data = "";
//Recupero l'url
var url = document.Form1.action;
for (var r = 1; r<5; r++)
{
data = "id=" + r;
httpRequest( "POST", url, true, data);
}
}
function httpRequest(reqType, url, asynch, parameter)
{
//Instanzio l'oggetto request
if( window.XMLHttpRequest) //Browser Mozilla
{
req = new XMLHttpRequest();
}
else if( window.ActiveXObject) //Internet Explorer
{
req = new ActiveXObject("Msxml2.XMLHTTP");
if( !req)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
if(req)
{
if(reqType.toLowerCase() != "post") //Metodo Get
{
initReq(reqType,url,asynch);
}
else
{
if(parameter != null && parameter.length > 0)
{
initReq(reqType,url,asynch,parameter);
}
}
}
}
function initReq( reqType, url, asynch, parameter)
{
try
{
req.onreadystatechange=function()
{
try
{
if(req.readyState == 4)
{
if(req.status == 200)
{
alert (req.responseText);
}
}
}
catch(error)
{
alert(error);
}
}
req.open(reqType,url,asynch);
if(reqType.toLowerCase() == "post")
{
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
req.send(parameter); //Metodo Post
}
else
{
req.send(null); //Metodo Get
}
}
catch(error)
{
alert( error);
}
}
</script>
Da sottolineare come in questo metodo viene preparata la stringa da inviare al server tramite una richiesta HTTP in POST.
Il metodo httpRequest ha la funzione di determinare il tipo dell'oggetto request utilizzato dal browser.
La parte più importante avviene nel metodo initReq.
Qui infatti c'è sia il codice necessario a gestire la risposta del server, sia il codice dell'invio della richiesta in POST.
Nella gestione della risposta viene verificato che la proprietà readyState dell'oggetto request è 4 (elaborazione terminata) e che lo stato della risposta HTTP sia 200.
L'invio della richiesta avviene chiamando la open, preparando la header della richiesta HTTP, ed effettuando l'invio tramite il metodo send.
Lato server, invece ho un metodo che produce N output, in risposta ad ogni richiesta effettuata.
La stranezza è di ottenere, nel caso specifico, 4 risposte identiche. Armato di fiddler mi son accorto che le risposte che ricevo però, sono in realtà diverse:
Per ovviare allo "strano" comportamento, ho modificato lo script, creando l'oggetto request N volte nella funzione createRequest e passato come parametro sia alla funzione httpRequest che di conseguenza alla initReq:
<script language="javascript">
function sendData()
{
var data = "";
//Recupero l'url
var url = document.Form1.action;
for (var r = 1; r<5; r++)
{
data = "id=" + r;
createRequest( "POST", url, true, data);
}
}
function createRequest( reqType, url, asynch, parameter)
{
var req = null;
//Instanzio l'oggetto request
if( window.XMLHttpRequest) //Browser Mozilla
{
req = new XMLHttpRequest();
}
else if( window.ActiveXObject) //Internet Explorer
{
req = new ActiveXObject("Msxml2.XMLHTTP");
if( !req)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
httpRequest( reqType, url, asynch, parameter, req)
}
function httpRequest(reqType, url, asynch, parameter, req)
{
if(req)
{
if(reqType.toLowerCase() != "post") //Metodo Get
{
initReq(reqType,url,asynch, req);
}
else
{
if(parameter != null && parameter.length > 0)
{
initReq(reqType,url,asynch,parameter, req);
}
}
}
}
function initReq( reqType, url, asynch, parameter, req)
{
//Per brevità ho omesso il codice.
}
</script>
Saturday, October 27, 2007
Kirix Strata
Etichette: Tools, webKirix Strata è uno speciale browser per accedere e manipolare dati contenuti in tabelle html.
Una volta recuperati i dati è possibile salvarli direttamente su db(MySQL, Oracle, ecc).
Per avere un'idea più chiara delle potenzialità di questo software vi rimando allo screencast.
Thursday, October 25, 2007
Javascript: EndsWith e StartsWith
Etichette: javascriptAttraverso i prototype è possibile espandere le funzionalità degli oggetti base.
In questo esempio implemento due funzioni che verificano se una determinata stringa termina o inizia in un certo modo:
String.prototype.endsWith = function( eString)
{
var reg = new RegExp( eString + "$");
return reg.test( this);
}
String.prototype.startsWith = function( eString)
{
var reg = new RegExp( "^" + eString);
return reg.test( this);
}
Wednesday, October 24, 2007
Windows Mobile 6.1 a febbraio?
Etichette: MobileSecondo varie voci arriva la notizia seconda la quale per febbraio 2008 sarà presentata la versione 6.1 di Windows Mobile.
Tra le nuove features un'interfaccia utente rinnovata, introducendo lo scroll orizzontale dei tabs, ma anche una maggiore integrazione con Microsoft Exchange 2007.
Per Windows Mobile 7 si dovrà attendere fino al 2009.
Tuesday, October 23, 2007
Virtual Earth e 3DVIA
Etichette: Virtual EarthDopo il servizio offerto da Google con Sketchup, anche Microsoft in collaborabione con la francese Dassault presenta un servizio simile: 3DVIA, un software per creare modelli tridimensionali da inserire in Virtual Earth.
Read More »»Halloween Ringtones and Wallpaper
..Halloween si avvicina e per chi vuole personalizzare il proprio mobile una serie di wallpaper e suonerie a tema...
Read More »»Sunday, October 21, 2007
Aptana
Etichette: ToolsSaturday, October 20, 2007
Attributo Compilation
Etichette: Asp.Net 1.1, Asp.Net 2.0Una delle cose che spesso ci si dimentica quando si installa una web application scritta in ASP.NET in ambiente di produzione è di impostare l'attributo Compilation a false nel web.config:
<compilation
defaultLanguage="c#"
debug="false"
/>
Compilare l'applicazione con Compilation a true produce un peggioramento delle prestazioni, codice non ottimizzato poichè vengono prodotti file binari di debug.
Oltre a motivi prestazionali ci sono anche motivi di sicurezza.
In aiuto ci viene una nuova distribuzione introdotta nel Framework 2.0. In sostanza mentre con ASP.NET 1.1 dobbiamo andare a "manina" a disattivare la funzionalità di debug, in ASP.NET 2.0 è tutto più semplice.
Nel machine.config, possiamo impostare una distribuzione senza le funzionalità di debug, ottenendo quindi sicurezza e prestazioni:
<system.web>
<deployment retail="true"/>
</system.web>
Friday, October 19, 2007
Windows Media Center e Virtual PC
Etichette: Windows Media CenterE' possibile creare una macchina virtuale usando Virtual PC con Windows Media Center.
La cosa strana sta nel fatto che con Virtual PC 2007 non sono riuscito assolutamente nell'intento.
Dopo qualche prova ho tentato con una versione precedente Virtual PC 2004, e come mia enorme sorpresa son riuscito ad installarlo.
Supporto per F#?
Stando all'annuncio di S. Somasegar corporate vice president del reparto sviluppo di Microsoft, F# farà parte della squadra dei linguaggi .NET, tanto che si parla di integrazione in Visual Studio, anche sè non si conoscono ancora i tempi.
Read More »»Thursday, October 18, 2007
Microsoft Live Labs: Listas
Etichette: Microsoft Listas è un nuovo tool per la creazione, l'amministrazione e la condivisione di liste, note, favoriti ecc.
Le liste create possono essere rese pubbliche in lettura o anche in scrittura in stile wiki, alla community.
Inoltre per agevolare la creazione/modifica degli elementi è possibile scaricare la listas toolbar per Internet Explorer.
Wednesday, October 17, 2007
Natural Interaction
Etichette: MicrosoftSi tratta di un software frutto della collaborazione( neanche tanto recente) tra il MIT e Microsoft Research.
Permette di descrivere in modo molto naturale oggetti e iterazioni.
Dopo questa presentazione non sono risucito a trattenermi:
I requisiti per "divertirsi":
Windows XP Tablet PC
Framework 1.1
Il software
Da sottolineare che gli oggetti possono essere di diversi materiali:
- gomma
- acciaio
- legno
- ghiaccio
- plastica
- argilla
- roccia
Per tutti questi materiali possiamo impostare densità, attrito ed elasticità.
Come si può evincere dal video il software permette di inserire delle forze, ma la cosa straordinaria è il poter collegare attraverso dei connector i vari oggetti.
Dopo aver installato il software si possono osservare tre esempi, tra questi c'è quello che simula una catapulta:
Versione 6 per Virtual Earth
E' disponibile la versione 6 delle API di Virtual Earth.
Alcune delle nuove feature:
- Supporto per Safari
- Multipoint routing
- Modificato l'engine del Geocoding
Per passare dalla versione 5 alla versione 6 è molto semplice, basta modificare il link .ashx da:
http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=5 a
http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.
Fonte: Virtual Earth, a developer blog
Tuesday, October 16, 2007
Virtual Earth: MapCruncher beta
Etichette: Virtual EarthE' stato rilasciato in beta MapCruncher che permette di unire le mappe di Virtual Earth con le proprie mappe creando dei Mapping Mashup.
Accetta una serie di formati vettoriali: PDF, WMF, EMF e formati rasterizzati come: JPG, PNG, TIFF, GIF, BMP.
Monday, October 15, 2007
Tablecloth
Etichette: css, javascriptTablecloth permette con due sole righe di codice(collegamento al css e collegamento al js) di aggiungere uno stile d'effetto alle proprie tabelle html.
La lista delle features:
- Adding even/odd class names to alternative rows.
- Adding over and out class names for mouse over and mouse out states.
- If set to true Tablecloth will highlight rows or columns (or both).
- If set to true Tablecloth adds selected state on click. Based on preferences it then selects rows or columns (or both). Unselect elements by clicking anywhere on the page.
- It leaves room for your upgrade. It has easily editable function that is called when you click on table cell that you can use for your own code.
Sunday, October 14, 2007
WebClient: connessioni multiple
Etichette: Framework 1.1, Framework 2.0La classe WebClient ci fornisce una serie di metodi per inviare e ricevere dati da qualsiasi risorsa intranet o internet specificando un indirizzo uri.
Tra i vari metodi troviamo anche DownloadFile che ci permette di scaricare su file locale i dati dall'uri.
Da sottolineare che tale metodo effettua il blocco durante il download della risorsa, se invece si vuol continuare l'esecuzione durante l'attesa della risposta del server si può vedere DownloadFileAsync.
Di default però, secondo le specifiche HTTP 1.1, un client può mantere solo due connessioni contemporaneamente aperte verso un server, ma c'è la possibilità di modificare tale "comportamento".
E' possibile indicare nel file di configurazione(app.config per windows form, web.config per web form) il numero massimo di connessioni a un host.
Tale informazione deve essere contenuta nella sezione connectionManagement:
<system.net>
<connectionManagement>
<add address="indirizzo ip" maxconnection="numero" />
</connectionManagement>
</system.net>
L'aumento del numero di connessioni può portare ad un aumento dell'utilizzo della CPU, Microsoft infatti, consiglia come valore per maxconnection 12 per n dove n è il numero di CPU. Read More »»
Saturday, October 13, 2007
BizTalk, RFID e sushi bar
Etichette: BiztalkVi starete chiedendo che cosa c'entra il sushi bar con BizTalk e gli Rfid.
Date uno sguardo a questo video.
Fonte: BizTalk Server Team Blog.
Friday, October 12, 2007
Windows Live Events
Etichette: Microsoft, webWindows Live Events è un nuovo servizio di Microsoft, dedicato alla pianificazione di eventi.
Il serizio si basa sulla struttura di Live Spaces facilitando così l'inserimento di web part come quella di gestione del meteo, delle foto personali, mappe ecc.
Inoltre per semplificare la procedura di invito verrà recuperata la lista dei contatti sia da Messenger che da Hotmail.
AForge.NET
AForge.Net è un progetto veramente interessante di Andrew Kirillov. In sostanza si tratta di un framework scritto in C# che racchiude una serie di library:
- AForge.Imaging – a library for image processing routines and filers;
- AForge.Neuro – neural networks computation library;
- AForge.Genetic – evolution programming library;
- AForge.Vision – computer vision library;
- AForge.Machine Learning – machine learning library.
Wednesday, October 10, 2007
CentoMETRI
Etichette: webMarco Bellinaso ha pubblicato pochi giorni fa la sua ultima fatica:
CentoMetri, una community a livello cittadino.
Di cosa si tratta? Riporto qui una parte della descrizione:
"CentoMETRI è stato ideato e realizzato da un gruppo di utenti insoddisfatti dagli attuali siti web e servizi per la ricerca di informazioni relative alla propria città.
L'idea è di creare un sito che permetta di visualizzare direttamente su una mappa cittadina una quantità di informazioni quali: foto e opinioni sulle vie e quartieri, annunci per stanze e posti letto, annunci immobiliari, annunci di lavoro, un mercatino, e altro ancora.
Lo scopo è di permettere al cittadino di esplorare una zona della città non conosciuta, ma anche di dire la propria riguardo tutto quello che pensa della città, dei suoi servizi, dei suoi luoghi."
Il tutto in puro stile Web 2.0, facendo uso di ASP.NET 2.0 e della AJAX Library.
Cosa state aspettando? Fate un salto su CentoMETRI :).
SimpleViewer: una galleria in flash
SimpleViewer è un'ottima applicazione flash che permette di avere sul proprio sito web un'accattivante photogallery.
Oltre al fatto che la photogallery è interamente personalizzabile dal punto di vista grafico, il plugin consente di interfacciarsi con Flickr, precaricamento intelligente delle immagini, ecc.
Tuesday, October 9, 2007
Micro Framework blog
Etichette: Micro FrameworkDal blog di Raffaele Rialdi( con al suo attivo due articoli su tale tecnologia Introduzione al Micro Framework .NET e Realizzare un'applicazione con Micro Framework.NET) un'interessante notizia sull'apertuta del blog su .NET Micro Framework.
Read More »»Monday, October 8, 2007
Titan feature
Etichette: MicrosoftPhilip Richardson sul suo blog ha indicato le nuove feature del MS CRM con nome in codice "Titan".
Personalmente trovo interessante l'integrazione con Windows Workflow Foundation.
FeedJit
FeedJit é un widget attraverso il quale è possibile ottenere il tracciamento di tutto il traffico in ingresso di un sito web.
Senza nessuna registrazione ma solo con l'inserimento di uno script sul proprio sito/blog si può conoscere la provenienza geografica dei visitatori, da quale altro sito web provengono, le pagine che hanno aperto ecc
Sunday, October 7, 2007
MS Web Application Stress
Etichette: Microsoft, ToolsWAS è un'interessante tool che permette di simulare N client che accedono contemporaneamente ad IIS, generando report sulle performance in modo da poter individuare errori dovuti ad elevati carichi.
Inoltre qui è possibile seguire un tutorial.
Saturday, October 6, 2007
DB2: Dataset tipizzati
Etichette: DB2, VB.NET, Vs 2005Sul plugin DB2 abbiamo discusso qui e qui, questa volta invece vedremo come generare Dataset tipizzati utilizzando le stored procedures.
I Dataset tipizzati sono entità logiche derivate dalla classe Dataset create attraverso il designer di Visual Studio.
Quando si genera un Dataset tipizzato viene creato un file schema XML all'interno della directory App_Code.
A run-time il Framework si occupa di recuperare queste informazioni contenute nello schema e di generare le varie classi.
A questo punto possiamo generare una stored procedures:
Per generare un Dataset tipizzato da VS 2005 basta scegliere l'opzione Add new item e selezionare la voce DataSet:
Dopo aver aggiunto il Dataset compare il wizard TableAdapter, quest'ultimo è un contenitore di oggetti DataTable, nel caso specifico useremo la stored procedure creata precedemente:
Alla fine del wizard l'IDE mostra attravero l'oggetto TableAdapter la struttura della tabella, indicando informazioni sulle colonne, sulle chiavi, eventuali relazioni ecc:
Il codice per usare queste entità è estremamente semplice:
Public Function GetDb(ByVal valueNome As String) As DsTest.PROCEDURADSDataTable
Dim dt As DsTest.PROCEDURADSDataTable = New DsTest.PROCEDURADSDataTable()
Try
Dim da As DsTestTableAdapters.PROCEDURADSTableAdapter = New DsTestTableAdapters.PROCEDURADSTableAdapter()
dt = da.GetData(valueNome)
Catch ex As Exception
'Log error
End Try
Return dt
End Function
Di contro però, i Dataset tipizzati non sono adatti per gestire grosse quantità di dati poichè si ha un notevole calo di prestazioni. Read More »»
Deepfish
Deepfish è un browser per mobile attualmente in beta(solo per pochi utenti) che presenta una funzionalità veramente particolare cioè quella di avere la schermata completa di un sito anche su uno schermo piccolo.
Sul mio smartphone HTC S710 lo schermo da 2,4 pollici non è il massimo della capienza di conseguenza navigando su siti come quello di Microsoft i contenuti vengono agganciati uno sotto l'altro rendendo la navigazione abbastanza complicata.
Con Deepfish invece tutto il sito è visibile dando la possibilità all'utente di effettuare zoom per poter accedere ai contenuti.
La possibilità di poter partecipare alla prova della versione beta è scaduta da tempo ma si può inserire il proprio indirizzo email per avere info su nuove disponibilità.
Friday, October 5, 2007
Add-in per .NET Reflector
Etichette: ToolsUna lista di add-ins utilissimi per .NET Reflector.
Ho già fatto "miei":
- CodeMetrics: Analyses .NET assemblies and shows design quality metrics.
- Diff: This add-in shows differences between two versions of the same assembly.
- AutoDiagrammer: This add-in draws class diagrams.
Thursday, October 4, 2007
Microsoft lancia HealthVault
Etichette: MicrosoftOggi Microsoft ha lanciato una nuova applicazione web HealthVault responsabile di archiviare in una base dati sicura e cifrata cartelle sanitarie, ovviamente spetterà all'individuo(paziente) decidere quali informazioni registrare.
Read More »»Wednesday, October 3, 2007
Merge DataTable
Etichette: Framework 1.1, Framework 2.0, VB.NETIl Framework 2.0 mette a disposizione il metodo Merge fra DataTable che presentano schema differenti, quindi supponendo di avere:
Dim dt1 As DataTable = New DataTable()
Dim idColumn As New DataColumn("ID", GetType(Integer))
dt1.Columns.Add(idColumn)
dt1.Columns.Add("Col1", GetType(String))
dt1.Columns.Add("Col2", GetType(String))
dt1.Columns.Add("Col3", GetType(String))
dt1.Columns.Add("Col4", GetType(String))
Dim row1 As DataRow
'Indico la chiave primaria
dt1.PrimaryKey = New DataColumn() {idColumn}
For i As Integer = 0 To 3000
row1 = dt1.NewRow()
row1("ID") = i
row1("Col1") = "Col1: " + i.ToString()
row1("Col2") = "Col2: " + i.ToString()
row1("Col3") = "Col3: " + i.ToString()
row1("Col4") = "Col4: " + i.ToString()
dt1.Rows.Add(row1)
Next
Dim dt2 As DataTable = New DataTable()
dt2.Columns.Add("ID", GetType(Integer))
dt2.Columns.Add("Col5", GetType(String))
dt2.Columns.Add("Col6", GetType(String))
Dim row2 As DataRow
For i As Integer = 0 To 3000
row2 = dt2.NewRow()
row2("ID") = i
row2("Col5") = "Col5: " + i.ToString()
row2("Col6") = "Col6: " + i.ToString()
dt2.Rows.Add(row2)
Next
'Richiamo il metodo Merge
dt1.Merge(dt2)
Ma nel Framework 1.1 è necessario scrivere un metodo ad hoc per ottenere lo stesso risultato.
Dopo una serie di test di perfomarce su alcune soluzioni, la migliore è risultata la seguente:
Private Function MakeDataTaleToHashTable(ByVal dt2 As DataTable, ByVal key As String) As Hashtable
Dim htDt2 As Hashtable = New Hashtable
For Each row As DataRow In dt2.Rows
Dim listColumn As SortedList = New SortedList
For Each col As DataColumn In dt2.Columns
If Not (col.ColumnName = key) Then
listColumn.Add(col.ColumnName, row(col.ColumnName))
End If
Next
htDt2.Add(row(key).ToString(), listColumn)
Next
Return htDt2
End Function
'Esegue il merge fra due DataTable indicando la colonna chiave
Public Sub MergeDataTable(ByRef dt1 As DataTable, ByVal dt2 As DataTable, ByVal key As String)
Dim htDt2 As Hashtable = MakeDataTaleToHashTable(dt2, key)
For Each row As DataRow In dt1.Rows
If (htDt2.ContainsKey(row(key).ToString().Trim())) Then
Dim slColumn As SortedList = htDt2(row(key).ToString().Trim())
For Each keyColumn As String In slColumn.Keys
If Not (dt1.Columns.Contains(keyColumn)) Then
dt1.Columns.Add(New DataColumn(keyColumn, GetType(String)))
End If
row(keyColumn) = slColumn(keyColumn)
Next
End If
Next
End Sub
Quest'ultimo ha la funzione di "trasformare" la DataTable in una hashTable così formata:
1)key => valore chiave della riga;
2value => un SortedList composto:
2.1)SortedList key => nome delle colonne
(ad eccezione della colonna chiave);
2.2)SortdeList value => valore della riga in corrispondenza della colonna aggiunta.
Il metodo MergeDataTable esegue un ciclo su tutte le row della DataTable di destinazione(dt1 nell'esempio) e verifica se il valore della colonna chiave è contenuto nell'hashTable.
In caso affermativo esegue le operazioni di creazione delle nuove colonne e valorizzazione della riga in corrispondenza, recuperando i dati dal SortedList.
Interessante i tempi di esecuzione, nel caso specifico il tutto viene effettuato in 0,031 secondi. Read More »»
Tuesday, October 2, 2007
Tablesorter
Etichette: javascriptTablesorter è un plugin jQuery che come è facile intuire dal nome permette di ordinare tabelle HTML senza che la pagina effettui un postback.
Le funzionalità sono veramente interessanti:
- Multi-column sorting
- Parsers for sorting text, URIs, integers, currency, floats, IP addresses, dates (ISO, long and short formats), time. Add your own easily
- Support for ROWSPAN and COLSPAN on TH elements
- Support secondary “hidden” sorting (e.g., maintain alphabetical sort when sorting on other criteria)
- Extensibility via widget system
- Small code size (7,4kb packed)
Inoltre cosa non trascurabile e' compatibile con la maggior parte dei browser: Firefox, Internet Explorer, Safari, Opera ecc.
Read More »»Monday, October 1, 2007
Office Online
Etichette: MicrosoftAdesso finalmente anche con Microsoft esiste una piattaforma gratuita Office Live Workspace per la condivisione dei documenti in formato Word, Excel, Powerpoint utilizzabile dal web sia con browser Internet Explorer che con Firefox.
Un progetto da seguire per gli sviluppi futuri.
About Me
- Pierluca
- Milano, Italy
- MCTS: .Net 2.0 Web MCTS: .Net 3.5 Web MCTS: .Net 3.5 WF Applications Development MCTS: Microsoft Office SharePoint Server 2007, Application Development
Blog Archive
-
▼
2007
(146)
-
▼
October
(35)
- ILMerge
- Nuovo sito Windows Mobile
- Gatineau beta invito
- Ajax: simultaneous asynchronous requests
- Kirix Strata
- Javascript: EndsWith e StartsWith
- Windows Mobile 6.1 a febbraio?
- Virtual Earth e 3DVIA
- Halloween Ringtones and Wallpaper
- Aptana
- Attributo Compilation
- Windows Media Center e Virtual PC
- Supporto per F#?
- Microsoft Live Labs: Listas
- Natural Interaction
- Versione 6 per Virtual Earth
- Virtual Earth: MapCruncher beta
- Tablecloth
- WebClient: connessioni multiple
- BizTalk, RFID e sushi bar
- Windows Live Events
- AForge.NET
- CentoMETRI
- SimpleViewer: una galleria in flash
- Micro Framework blog
- Titan feature
- FeedJit
- MS Web Application Stress
- DB2: Dataset tipizzati
- Deepfish
- Add-in per .NET Reflector
- Microsoft lancia HealthVault
- Merge DataTable
- Tablesorter
- Office Online
-
▼
October
(35)