>Salve a tutti gli amici di dotnethell...ho il seguente problema:
>
>Ho un datagridview che popolo in questo modo:
>
>
>Dim DS5 As DataSet
> Dim MyConnection As SqlConnection
> Dim MyCommand As SqlDataAdapter
>MyConnection = New SqlConnection(Me.TextBoxstringaconnessione.Text)
>MyCommand = New SqlDataAdapter("SELECT id,scadenza FROM rab order
>by scadenza", MyConnection)
> DS5 = New DataSet()
> MyCommand.Fill(DS5)
> DataGridView1.DataSource = DS5.Tables(0)
>
>
>La colonna scadenza (di tipo "date") è popolata da circa 350
>record
>
>A questo punto inserisco al datagridview1 una colonna non associata
>in questo modo:
>
>DataGridView1.Columns.Add("Conteggio")
>
>Ora il problema è che vorrei mi venisse popolata,all'apertura
>del form, la colonna "Conteggio" con la differenza in giorni
>tra la colonna "Scadenza" e il giorno corrente ovvero :
>
>scadenza-----------Conteggio (alla data odierna)
>
>10.09.2010-------- xx giorni
>20.09.2010-------- xx giorni
>30.09.2010-------- xx giorni
>
>
>Grazie. Mark.
Ciao Mark.
Allora una cosa molto "pulita" sarebbe quella di far fare il calcolo direttamente al database (per la sintassi dipende da che tipo di database usi)
Altro modo è questo:
dopo aver aggiunto la colonna alla tabella, ti scorri le righe e calcoli con il TimeSpan la differenza in giorni.
Dim i As Integer
Dim ts As TimeSpan
Dim curDate As Date = Date.Now
For i = 0 To DS5.Tables(0).Rows.Count - 1
ts = New TimeSpan(curDate.Ticks - CDate(DS5.Tables(0).Rows(i)("scadenza ")).Ticks)
DS5.Tables(0).Rows(i)("Conteggio") = ts.TotalDays
Next
Ciao
Cristian Barca