[RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

di il
8 risposte

[RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

Buondi a tutti, durante la creazione di un DataTable mi sono imbattuto per ora in un paio di problemi (quì ne elenco solo uno, l'altro lo farò in un altro post).
Ho creato una DataTable dtProva , su di essa ho quindi definito e creato varie colonne ed inserito delle righe al momento già precompilate (per fare delle prove), ho poi inserito una DatagridView DataGridView1 collegata alla dtProva ed impostandone poi le larghezze delle colone. Fin quì tutto bene, però vorrei fare in modo che su una cella di questa dataGridView sia possibile inserire solo l'orario ( ho impostato il TypeOf della relativa colonna del dtProva come typeof(DateTime), però quando vado a scrivere mi inserisce (ovviamente) anche il giorno che a me non interessa perchè lo inserisco nella colonna precedente (anch'essa con typeof(DateTime) ) , ho provato a cercare es esiste un typeof(...) relativo all'orario ma non ho trovato nulla (neanche sul libro che sto leggendo), quindi mi sa devo fare una conversione ma non ho trovato nulla a riguardo (specificatamente per le DataTable).
Allego parte del codice per capire meglio :
private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
               DataTable dtProva = new DataTable();          
               DataColumn ColonnaData = new DataColumn("Data");               
               DataColumn ColonnaOra = new DataColumn("Ora");
               DataColumn ColonnaDescrione = new DataColumn("Descrizione"); 
               
               dtProva.Columns.Add("Data", typeof(DateTime));
               dtProva.Columns.Add("Ora", typeof(DateTime));         // su questa vorrei inserire/vedere solo l'ora hh:mm 
               dtProva.Columns.Add("Descrizione", typeof(string));
               
                 DataRow riga = dtProva.NewRow();
                 riga["Data"] = "01/01/2021";
                 riga["Ora"] = "8:31";
                 dtProva.Rows.Add(riga);
                 riga = dtProva.NewRow();
                 riga["Data"] = "01/02/2021";
                 riga["Ora"] = "8:23";

                 dtProva.Rows.Add(riga);
                 riga = dtProvaNewRow();
                 riga["Data"] = "01/03/2021";
                 riga["Ora"] = "16:54";
                
                 dtProva.Rows.Add(riga);
              
                 dataGridView1.DataSource =dtProva;
                 dataGridView1.Columns[0].Width = 70;
                 dataGridView1.Columns[1].Width = 60;
                 dataGridView1.Columns[2].Width = 60;
                
                }
            catch (Exception ex)
            {
                MessageBox.Show("Errore: " + ex.Message);
            }
        }
             
             
Avete qualche suggerimento ?
Grazie, saluti

8 Risposte

  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Devi impostare il formato dei dati della colonna: vedi la documentazione ufficiale in proposito.

    Ciao!
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Alka ha scritto:


    Devi impostare il formato dei dati della colonna: vedi la documentazione ufficiale in proposito.

    Ciao!
    Ciao, sei un grande.. ho cercato un po' ed andando a tentativi ci sono riuscito .
    dataGridView1.Columns[2].DefaultCellStyle.Format = ("t");
    Così mi restituisce solo l'ora .

    Ho provato a cercare se esiste un elenco di tutti i possibili valori che si possono mettere ma non ho trovato.
    Il "t" l'ho messo ad intuito.. t come time .

    Grazie ancora, ciao.
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Scusa ma perché crei delle colonne
    
    ...
    DataColumn ColonnaData = new DataColumn("Data");               
    DataColumn ColonnaOra = new DataColumn("Ora");
    DataColumn ColonnaDescrione = new DataColumn("Descrizione");
    ...
    E poi ne aggiungi delle altre?
    
    ...
    dtProva.Columns.Add("Data", typeof(DateTime));
    dtProva.Columns.Add("Ora", typeof(DateTime));
    dtProva.Columns.Add("Descrizione", typeof(string));
    ...
    

    stevign76 ha scritto:


    Ho provato a cercare se esiste un elenco di tutti i possibili valori che si possono mettere ma non ho trovato.
    Il "t" l'ho messo ad intuito.. t come time .
    Studia da questo link in avanti. È un po' lungo il discorso, esisto un sacco di formati standard
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Ciao, grazie per il link .


    Sgrubak ha scritto:


    Scusa ma perché crei delle colonne
    
    ...
    DataColumn ColonnaData = new DataColumn("Data");               
    DataColumn ColonnaOra = new DataColumn("Ora");
    DataColumn ColonnaDescrione = new DataColumn("Descrizione");
    ...
    E poi ne aggiungi delle altre?
    
    ...
    dtProva.Columns.Add("Data", typeof(DateTime));
    dtProva.Columns.Add("Ora", typeof(DateTime));
    dtProva.Columns.Add("Descrizione", typeof(string));
    ...
    

    stevign76 ha scritto:


    Ho provato a cercare se esiste un elenco di tutti i possibili valori che si possono mettere ma non ho trovato.
    Il "t" l'ho messo ad intuito.. t come time .
    Studia da questo link in avanti. È un po' lungo il discorso, esisto un sacco di formati standard



    ho preso spunto da questo articolo :
    https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_datagridiview-filtrare-i-dati-tramite-clausola-like-con-vbnet-e-c_1652.aspx


    Ciao
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Ma nell'articolo usa l'overload , mentre tu utilizzi , quindi le prime colonne che hai creato non le aggiungi. Ne aggiungi di nuove e le altre restano appese li, senza far niente...
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Sgrubak ha scritto:


    Ma nell'articolo usa l'overload , mentre tu utilizzi , quindi le prime colonne che hai creato non le aggiungi. Ne aggiungi di nuove e le altre restano appese li, senza far niente...

    Ciao Sgrubak, hai ragione
    Quindi ora a quante birre siamo come debito ?
    Scherzi a parte ti ringrazio per la segnalazione che più che altro mi ha aiutato a capire la sintassi del codice scritto, ora vedo di
    andare avanti con altre cose ( che ho capito come fare dal libro che sto leggendo) e poi vediamo dove mi incastro .
    Grazie, ciao .
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    stevign76 ha scritto:


    Quindi ora a quante birre siamo come debito ?
    Scherzi a parte ti ringrazio per la segnalazione che più che altro mi ha aiutato a capire la sintassi del codice scritto, ora vedo di andare avanti con altre cose ( che ho capito come fare dal libro che sto leggendo) e poi vediamo dove mi incastro .
    Grazie, ciao .
    Nessun debito! Siam qui apposta.
  • Re: [RISOLTO]DataTable TypeOf(DateTime) - Vedere solo l'ora

    Grazie ancora, modifico il titolo mettendo [RISOLTO].

    Ciao
Devi accedere o registrarti per scrivere nel forum
8 risposte