Filtrado avanzado

Establecer AllowFiltering="true" (allowFiltering en React) y la barra de herramientas de la cuadrícula recibe un botón de filtro , que abre los propios filtros de la vista en el constructor de consultas FetchXML para que el usuario los cambie. Cualquier cosa por la que FetchXML pueda filtrar puede construirse: condiciones en las columnas de la tabla, agrupadas con AND y OR, comparadas con un valor o con otra columna, y tablas relacionadas — ya sea que existe un registro relacionado o una que coincida con condiciones propias. Solo se ofrecen las columnas y tablas relacionadas que el usuario puede leer, y el servidor rechaza un filtro en cualquier otra cosa. Los filtros del usuario duran mientras la cuadrícula muestra la vista: otra vista comienza desde la suya propia.

Filtrado de los contactos de muestra

Pulsa el botón Filtro en la barra de herramientas. El diálogo se abre en los filtros de la vista que muestra la cuadrícula. Todos los Contactos no tienen ninguno propio — la seguridad de filas de la tabla de contactos ya guarda todas las consultas a los contactos que puedas leer — así que se abre vacío, listo para los tuyos. Contactos en Empresas con Ciudad mantiene aquellos cuya empresa tiene ciudad, a través de una tabla relacionada con una condición propia. Cámbialos, pulsa Aplicar y la cuadrícula muestra las filas que coinciden con la primera página, su botón de Filtro se llena para mostrar que los filtros son tuyos. Cosas que probar:

  • Abre el menú de una columna — la flecha en su cabecera — y elige Filtrar por para filtrar solo en esa columna: un valor con el que sea igual para empezar, o el día para una fecha. Su cabecera muestra un icono de filtro mientras las filas están filtradas, y la condición está ahí con el resto en el cuadro de Filtrar . Borrar filtro, en el mismo menú, lo elimina.
  • Añade una fila y elige una columna, un operador y un valor — Contiene unas pocas letras de un nombre, por ejemplo, o una edad mayor a 40 años. El editor de valores sigue la columna: un selector de fechas para una fecha, una lista para una elección, un selector de registros para una consulta.
  • Añade un grupo para combinar condiciones bajo Emparejar cualquier (OR) o Emparejar todo (Y), anidado tan profundo como necesites.
  • Cambia una fila de By valor a columna Por para comparar dos de las columnas del contacto.
  • Elige Añadir entidad relacionada y elige una relación — por ejemplo, la empresa del contacto — y luego ponle condiciones propias, o cambia Must have a No tiene fila relacionada para mantener los contactos sin tal registro, o a No tiene fila coincidente para conservar aquellos que no cumplan con las condiciones. Solo se listan las tablas que puedes leer.
  • Abre el diálogo de nuevo y pulsa Reiniciar para ver y volver a los filtros propios de la vista, o elige la otra vista, que empieza desde la suya.
Ejemplo de reacción Ejemplo de Blazor React TypeScript Razor

Una vista que filtra lo que el usuario puede no leer

Contactos de propietarios activos mantiene los contactos cuya cuenta de usuario del propietario está habilitada, a través de una tabla relacionada — usuarios del sistema — a la que la demo no da acceso a sus visitantes. En lugar de mostrar todos los contactos (el filtro no está fuera) o ninguno (la tabla relacionada no coincide con filas), la cuadrícula indica en qué tabla no puede filtrar, para que el desarrollador pueda dar acceso a los usuarios o cambiar la vista. Abre el cuadro de diálogo Filtrar y lleva al propietario para ver las filas: el diálogo muestra la tabla relacionada de la vista, pero no ofrece usuarios del sistema para añadir. Un usuario interno que inicia sesión en la demo, cuyos propios roles de seguridad en Dataverse deciden lo que lee, ve las filas.

Ejemplo de reacción Ejemplo de Blazor React TypeScript Razor