Primero que nada, lo que explicaste para nada tiene que ver con nh.
En segundo lugar, ese uso del id es un concepto tan, pero tan pero tan,
orientado a la base que de momentos da estupor saber que estas poniendo el
schema de tu bd en un combo.
En mi mundo ideal de aplicaciones de escritorio, yo le quiero preguntar al
combobox cual es el convenio seleccionado. No cual es el id del convenio
seleccionado. Me gustaría llenarlo de objetos de convenio, y luego que me de
un objeto convenio como selccionado.
Desafortunadamente el combo de winforms necesita que le digas el
ValueMember....Entonces lo que Fabio hizo en el ejemplo de Chinook Winform
Coupled es crear una propiedad en la entidad convenio que se llama Self:
public Convenio Self {get { return this; }}
y en ValueMember le puso Self. Entonces al pedirle el SelectedValue devuelve
convenio. OJO esto no lo invento Fabio, lo recomiendan en el msnd. En el
ejemplo esta el vinculo a MSDN donde recomiendan esa "práctica"....
Existen otra suite de controles como las devexpress donde el combo o lookup
es un poco mas inteligente. Y si uno no le pone ValueMember toma el objeto
directamente.
En WPF la infraestructura de databinding es 1000 veces superior por lo tanto
no hace falta este engendro.
Y si te gusta el tema del Id ponele ValueMember = "Id", y listo.
Y no tiene nada que ver con nhibernate.
No tiene nada que ver.
Nada que ver.
El 28 de enero de 2010 16:47, Max <[email protected]> escribió:
> Ok muchas gracias... Si tiene que ver con NH, creo que no entendieron
> mi problema.
> Igual gracias.
>
>
> On 28 ene, 17:42, Jose Selesan <[email protected]> wrote:
> > A ver, supongamos que tu clase ConvABM tiene una propiedad "Id" y una
> > propiedad "Nombre". En vez de hacer el foreach, lo que tenes que hacer es
> > esto:
> >
> > cmbConvenio.DisplayMember = "Nombre;
> > cmbConvenio.ValueMember = "Id";
> > cmb.DataSource = convenios;
> >
> > y despues, para saber que Id está seleccionado, tenés que hacer
> > var seleccionado = cmbConvenio.SelectedValue; // con un probable cast al
> > tipo de dato que tenga tu id
> >
> > Pero coincido en que la pregunta no tiene nada que ver con NH
> >
> > Saludos
> >
> > 2010/1/28 Max <[email protected]>
> >
> >
> >
> > > Gracias igual Edgar... Si hay otra persona interesada en darme una
> > > mano se lo agradecería....
> >
> > > On 28 ene, 16:32, Edgar Ramos <[email protected]> wrote:
> > > > la idea basica es que blindees tus datos, tu combo a un
> bindingsource,
> > > > y la consulta de nh al datasource del binding, pero como ya
> > > > comentaron, no parece ser una pregunta relacionada a nh
> >
> > > > El día 28 de enero de 2010 13:20, Max <[email protected]>
> escribió:
> >
> > > > > Te agradezco la respuesta, pero lamentablemente estoy dentro de una
> > > > > red corporativa y no puedo acceder a tu link... si no es mucha
> > > > > molestia pegame esa porción de código donde está lo que querés que
> > > > > vea.
> > > > > Saludos.
> >
> > > > > On 28 ene, 16:18, Edgar Ramos <[email protected]> wrote:
> > > > >> analiza esta aplicacion te despejara algunas dudas
> (ChinookWinForm)
> >
> > > > >>http://cid-7cd03af46c6d65c1.skydrive.live.com/browse.aspx/.Public
> >
> > > > >> El día 28 de enero de 2010 12:52, Max <[email protected]>
> > > escribió:
> >
> > > > >> > Sobre NHibernate
> >
> > > > >> > On 28 ene, 15:32, Gustavo Ringel <[email protected]>
> wrote:
> > > > >> >> La pregunta es sobre NHibernate o sobre WinForms?
> >
> > > > >> >> 2010/1/28 Max <[email protected]>
> >
> > > > >> >> > Gente necesito saber el Id de un elemento al seleccionarlo
> con un
> > > > >> >> > combo.
> > > > >> >> > Lo hago con IList y después lo voy llenando con un foreach.
> > > > >> >> > IList convenios = oHelper.Get(new ConvABM);
> >
> > > > >> >> > foreach (ConvABM cc in convenios)
> > > > >> >> > this.cmbConvenio.Items.Add(cc.Descripcion);
> >
> > > > >> >> > --
> > > > >> >> > Para escribir al Grupo, hágalo a esta dirección:
> > > > >> >> > [email protected]
> > > > >> >> > Para más, visite:
> > >http://groups.google.com/group/NHibernate-Hispano-Ocultartextode la
> cita
> > > -
> >
> > > > >> >> - Mostrar texto de la cita -
> >
> > > > >> > --
> > > > >> > Para escribir al Grupo, hágalo a esta dirección:
> > > [email protected]
> > > > >> > Para más, visite:
> > >http://groups.google.com/group/NHibernate-Hispano-Ocultartexto de la
> cita
> > > -
> >
> > > > >> - Mostrar texto de la cita -
> >
> > > > > --
> > > > > Para escribir al Grupo, hágalo a esta dirección:
> > > [email protected]
> > > > > Para más, visite:
> http://groups.google.com/group/NHibernate-Hispano-Ocultartexto de la cita
> -
> >
> > > > - Mostrar texto de la cita -
> >
> > > --
> > > Para escribir al Grupo, hágalo a esta dirección:
> > > [email protected]
> > > Para más,
> > > visite:http://groups.google.com/group/NHibernate-Hispano-Ocultar texto de
> > > la cita -
> >
> > - Mostrar texto de la cita -
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano