Pregunta

Quiero obtener el nombre del producto que he seleccionado en mi GridView. Tengo un número de índice que puedo usar para comparar en mi base de datos, pero no puedo seleccionar el nombre del elemento que pertenece a ese número de índice.

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

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

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

Todo lo que he intentado terminar en una excepción.¿Alguna idea de cómo obtener el nombre del producto?

gracias de antemano.

¿Fue útil?

Solución 3

Simon en RCL y Lammmy me ayudó en la dirección correcta.¡Gracias!

Entonces, mi solución para el problema es:

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

Otros consejos

algo así (este es el código de aire, por lo que podría no ser correcto):

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

Esto supone que el DBLIST es una lista de productos de tipo, y que un producto tiene una propiedad de identificación que coincide con el índice que está buscando.

entonces puede hacer

string name = product.Name;

etc etc, etc.

podrías hacer

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

No estoy seguro de si este método se aplica en el contexto de DataService o no.

Editar : estoy pensando en la entidad Marco / ApplicationDBContext.Creo que Simon en RCL tiene la respuesta con LINQ.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top