Domanda

Voglio ottenere il nome del prodotto che ho selezionato nella mia GridView. Ho un numero di indice che posso usare per confrontare nel mio database, ma non riesco a selezionare il nome dell'oggetto che appartiene a quel numero di indice.

ServiceReference1.ProductContext ctx = new ServiceReference1.ProductContext(new Uri("http://SERVER:5000/WcfDataService1.svc/"));

DbList = ctx.Products;
int index = ProductsList.SelectedIndex;

string name = DbList.XXXXXXX  // -> ?????????
.

Tutto ciò che ho provato è finito in un'eccezione.Qualche idea come ottenere il nome del prodotto?

Grazie in anticipo.

È stato utile?

Soluzione 3

Simon at Rcl e Lammmy mi hanno aiutato nella giusta direzione.Grazie!

Quindi la mia soluzione per il problema è:

ServiceReference1.Product product = (ServiceReference1.Product)this.ProductsList.Items[productIndex];
string name = product.Name;
.

Altri suggerimenti

Qualcosa come (questo è il codice aereo, quindi potrebbe non essere giusto):

Product product = DBList.Where<Product>((p) => p.Id == index);
.

Questo presuppone che il Dblist sia un elenco di tipo di prodotto e che un prodotto ha una proprietà ID che corrisponde all'Indice che stai cercando.

puoi quindi fare

string name = product.Name;
.

ecc. ecc.

potresti fare

Product myProduct = ctx.Products.Find(index);
string name = myProduct.Name;
.

Non sono sicuro se questo metodo applicato nel contesto del dataservice o meno.

Modifica : Sto pensando quadro di entità / applicationdbcontext.Penso che Simon at rcl abbia la risposta con LINQ.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top