sábado, 25 de junio de 2011

Cómo ocultar los campos

Introducción

Una de las maneras más simples de hacer invisibles o invisibles ciertos campos es por medio de atributos en el modelo, lo cual afectará directamente el código generado.

Para este ejemplo se trabajará con la entidad “Contact”.

Pre-Requisitos

Haber construido la aplicación de ejemplo

Crear el archivo de extensibilidad de la entidad “Contact”.

Pasos

  1. Abrir el archivo Contact.sfsedmx en la carpeta “SFSAdventureWorksModel” del proyecto “SFS.AdventureWorks.BusinessObjects.EF4”. y configurar la propiedad “AdditionalContactInfo”.poniendo el valor del atributo VisibleInGrid en “false”.
    <Property Name="AdditionalContactInfo" Nullable="true" Order="100.0000" UIRequired="false" Visible="true" VisibleInGrid="false" VisibleInForm="true" PerformanceOption="Fill" IsNavigationProperty="false" Type="String" MaxLength="0" IsPrimaryKey="false" IsForeignKey="false" IsIdentity="false" IsSearchable="false" IsLocalizable="false" IsDataMember="false" IsCustom="false" />

  2. En la propiedad “Suffix” cambiar el valor de Visible a “false”, lo que impedirá que se vea tanto en la lista como el la forma.
  3. En la propiedad “EmailPromotion” poner el valor VisibleInForm en “true”.
    El archivo finaliza así:
    <?xml version="1.0" encoding="utf-8"?>
    <SfsModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Entities>
    <Entity Name="Contact" SetName="Contacts" IsUIVisible="false" GenerateCRUD="true" IsForLocalization="false" IsCustom="false" IsView="false" DefaultProperty="Title">
    <Properties>
    <Property Name="AdditionalContactInfo" Visible="true" VisibleInGrid="false" VisibleInForm="true" Nullable="true" Order="100.0000" UIRequired="false" PerformanceOption="Fill" IsNavigationProperty="false" Type="String" MaxLength="0" IsPrimaryKey="false" IsForeignKey="false" IsIdentity="false" IsSearchable="false" IsLocalizable="false" IsDataMember="false" IsCustom="false" />
    <Property Name="Suffix" Nullable="true" Order="100.0000" UIRequired="false" Visible="false" VisibleInGrid="true" VisibleInForm="true" PerformanceOption="Fill" IsNavigationProperty="false" Type="String" MaxLength="10" IsPrimaryKey="false" IsForeignKey="false" IsIdentity="false" IsSearchable="false" IsLocalizable="false" IsDataMember="false" IsCustom="false" />
    <Property Name="EmailPromotion" Nullable="false" Order="100.0000" UIRequired="false" Visible="true" VisibleInGrid="true" VisibleInForm="false" PerformanceOption="Fill" IsNavigationProperty="false" Type="Int32" MaxLength="0" IsPrimaryKey="false" IsForeignKey="false" IsIdentity="false" IsSearchable="false" IsLocalizable="false" IsDataMember="false" IsCustom="false" />
    </Properties>
    </Entity>
    </Entities>
    <Components />
    </SfsModel>

  4. Con esto, el campo  “AdditionalContactInfo” no se verá en la lista pero sí en la forma, el campo “Suffix” no se verá en la lista y tampoco en la forma, y el campo “EmailPromotion” no se verá en la forma pero sí se verá en la lista.
  5. En el proyecto de la interface de usuario, regenera el código y compila.

Conclusión


Con las herramientas de productividad SFS es fácil definir la visibilidad de los campos de forma específica desde la generación de código, aunque no es la única manera, más adelante veremos cómo hacer esto pero con código c#, en reglas de negocio.

No hay comentarios.:

Publicar un comentario