Sito Web de Datos Dinamicos: Cambiar el campo a mostrar en los foring key
enero 22, 2012 Dejar un comentario
Bien la idea es la siguiente tengo una tabla llamada padron donde almaceno todos los datos de mis clientes/proveedores pero esta tabla tiene como campo que le sigue al PK el campo “Numero de documento” asi que cada vez me hago un FK hacia esta tabla me muestra en el combo los numeros de documentos, claro que esta muy bien que eso salga pero en verdad no queda nada aceptable asi que lo que se quiere es que se muestre el nombre para ello podemos agregar el atributo DisplayColumn a la clase que define la metada en nuestra tabla padron de esta manera:
[MetadataType(typeof(padronMetadata))]
[DisplayName("Padron")]
[DisplayColumn("nombre")] //aqui esta la modificacion
public partial class padron
{
private class padronMetadata
{
[ScaffoldColumn(false)]
public object id { get; set; }
Bien hasta aqui se puede hacer casi todo pero ahora queremos hacer una cosa mas, pues en mi tabla de compras siempre que le hago un FK pues me muestra el numero de documento algo asi “002-0000025″ y nada mas y lo que quiero es que se muestre esto “Factura Nº 002-000025 – Juan Mendoza” para eso tenemos que sobre escribir el ToString() de la clase y lo hacemos en la metadata de esta manera:
[MetadataType(typeof(comprasMetadata))]
[DisplayName("Compras")]
public partial class compras
{
public override string ToString()
{
return tipdocs.destipdoc + “: ” + “-” + numdoc + ” – ” + padron.nombre;
}
private class comprasMetadata
{
Bien si se fijan ambos campos tanto el tipo del documento y el nombre del proveedor son FK’s a la tabla compras asi que se les llama como si fueran objetos que es en realidad lo que son y con eso tenemos.
Ultimos Comentarios