3 messaggi dal 12 febbraio 2016
salve.

avrei un dubbio da risolvere.
ho creato un programma che stampi 3 listbox e un datagriedview.
fin qui tutto apposto.
il problema sta che in uno dei 3 listbox devo stampare un DateTime.
quando creo il programma mi va in conflitto perchè non conosco operatori che permettono il funzionamento di DateTime in ToString()


listBox2.DataSource = la.Select(x =>x.data).Distinct().ToList();
listBox2.SelectedIndexChanged += (t, te) =>
{
dataGridView1.DataSource = la.Where(x => x.data == listBox2.SelectedValue.ToString()).ToList();
};
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,


quando creo il programma mi va in conflitto perchè non conosco operatori che permettono il funzionamento di DateTime in ToString()

Ok, se interpreto correttamente, il compilatore si sta lamentando del fatto che l'operatore di uguaglianza, cioè ==, non può essere usato con operandi di tipo diverso. Infatti, x.data è probabilmente un DateTime, mentre listBox2.SelectedValue.ToString() è ovviamente una stringa.

Bisogna fare in modo che siano entrambi DateTime (oppure entrambi stringhe). Per il momento prova a fare il casting di SelectedValue a DateTime.
dataGridView1.DataSource = la.Where(x => x.data == (DateTime) listBox2.SelectedValue).ToList();


Se non dovesse funzionare, prova invece a lavorare con le stringhe.
dataGridView1.DataSource = la.Where(x => x.data.ToString() == listBox2.SelectedValue.ToString()).ToList();


ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.