datagrid

Mattepuffo's logo
Usare DataGrid in TornadoFX e Kotlin

Usare DataGrid in TornadoFX e Kotlin

Oggi vediamo probabilmente l'unico componente data-drigven di TronadoFX: DataGrid!

Sostanzialmente è simile al layout GridPane, nel senso che divide la schermata in righe e colonne.

La differenza sta nel fatto che non è un layout, ma è un contenitore per dati.

Ne vediamo un esempio basico, in cui mettiamo tre immagini.

Mattepuffo's logo
WPF DataGrid da JSON

WPF DataGrid da JSON

Oggi vediamo come impostare una DataGrid da dati in formato JSON.

I dati li prenderemo da un RESTful service.

Il tutto usando C#.

Prima di tutto, per fare la interpretare i dati in JSON, dovremmo usare l'oggetto JavaScriptSerializer.

Per fare questo dobbiamo aggiungere una reference al nostro progetto: cliccate col il taso destro sul progetto (non sulla soluzione) -> Add -> Reference; cercate e aggiungete System.Web.Extensions.

Bene, ora creiamo la classe che rappresenta gli oggetti in JSON:

namespace B2B
{
    class Cliente
    {
        public int clienteCodice { get; set; }
        public string clienteRagsoc { get; set; }
        public string clienteEmail { get; set; }
        public string clientePiva { get; set; }
    }
}

Considerate che i nomi delle variabili hanno lo stesso formato dei campi del JSON.

Mattepuffo's logo
Riempire una WPF DataGrid da XML remoto

Riempire una WPF DataGrid da XML remoto

In questi giorni mi sto dando al WPF, in quanto ho deciso di migliorare le mie conoscenze nel mondo .NET Framework.

Oggi vediamo come impostare una DataGrid prendendo i dati da un web service remoto.

I dati sono in formato XML, e noi useremo solo alcuni dei dati che ci arrivano.

Partiamo da una struttura del genere:

<crClientis>
  <crClienti>
   <clienteAttivato></clienteAttivato>
   <clienteCap></clienteCap>
   <clienteCf></clienteCf>
   <clienteClde></clienteClde>
   <clienteCodice></clienteCodice>
   <clienteEmail></clienteEmail>
   <clienteId></clienteId>
   <clienteIndirizzo></clienteIndirizzo>
 </crClienti>
</crClientis>

Come vedete ci sono vari campi.

Mattepuffo's logo
DataGridView TextBox filter in C#

DataGridView TextBox filter in C#

Dopo aver aggiunto i dati nella nostra GridView (ad esempio tramite XML come vedete qui), può capitare di voler creare un meccanismo di filtraggio, soprattutto in presenza di molti dati.

Possiamo creare un meccanismo attraverso il quale cercare nella GrdiView in base a ciò che scriviamo in una TextBox, il tutto in tempo reale.

Prima di tutto aggiungete una TextBox al Form dove c'è la GridView.

Mattepuffo's logo
DataGridView da XML in C#

DataGridView da XML in C#

Il .NET Framework per certi versi è davvero ottimo.

Quello che vediamo oggi è come riempire una GridView da dati presi da un file XML.

Come potremo vedere, la cosa sarà molto semplice (soprattutto se non abbiamo pretese di personalizzazione); così semplice che neanche vi dirò com'è strutturato il file.

Ovviamente, in questo semplice esempio, verranno create tante colonne quanti sono i campi presenti nel file.

Quindi questo dipende anche dalle vostre esigenze.

Inoltre il progetto si basa su un Windows Form classico (l'ho preferito al WPF).

Bene, prima di tutto trasciniamo nella finestra un oggetto DataGridView.

Mattepuffo's logo
Esportare DataSet in Excel

Esportare DataSet in Excel

In un altro articolo ho spiegato come esportare una DataGridView in Excel.

Adesso vediamo come esportare un DataSet direttamente, in modo da renderlo indipendente dal componente dove visualiziamo i dati.

In questo caso, infatti, i dati vengono poi rappresentati su una pagina Asp.NET e il plugin jQuery DataTable, il che rende impossibile esportare i dati direttamente dal componente.

Dobbiamo quindi estrarli direttamente da un DataSet.

Prima di tutto dobbiamo avere un metodo che esegue la connessione e la query; tipo questo:

        public DataSet getSomething()
        {
            connection().Open();
            OdbcCommand cmd = new OdbcCommand();
            OdbcDataAdapter adapter = new OdbcDataAdapter();
            DataSet ds = new DataSet();
            cmd.CommandText = "SELECT * FROM somewhere";
            cmd.Connection = conn;
            adapter.SelectCommand = cmd;
            adapter.Fill(ds);
            ds.Dispose();
            conn.Close();
            return ds;
        }

Semplicemente ritorna un DataSet.