En un ambiente WEB es otra historia por que mantener los objetos es
costoso.
Entonces preferimos mantener el ID

El 28 de enero de 2010 17:51, José F. Romaniello
<[email protected]>escribió:

> 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

Responder a