FileGrid

El FileGrid componente es una cuadrícula especializada para gestionar registros de Dataverse cuyo contenido principal es una columna de archivo. Envuelve MainGrid y superpone iconos de arrastre y solta subida, previsualización y descarga por fila, y una descarga en masa con zip de cada archivo cargado. La cuadrícula también respeta la lista de extensiones bloqueadas a nivel de entorno de Dataverse y los límites de tamaño por columna, y participa o MainContext RecordContext guarda pipelines cuando uno está dentro del ámbito.

Ejemplo

Gestiona las subidas de archivos en la ppp_file tabla de demostración (el archivo en sí está en la ppp_data columna). La cuadrícula está envuelta con MainContext botones de guardar y refrescar — los archivos eliminados se colocan en cola en memoria en lugar de usar Dataverse, y la OnBeforeSave demo cancela el estado real de guardado y mock-resets. Prueba a arrastrar un PDF o una imagen a la cuadrija, seleccionando varias filas y pulsando en Descargar todo (fíjate en el código zip), y haciendo clic en el icono de Vista previa en una sola fila. Debes iniciar sesión para ver el botón Subir — los archivos que no posees son visibles pero solo de lectura.

Ejemplo de reacción
Ejemplo de Blazor
Debes iniciar sesión para subir, editar o eliminar archivos. Los discos que no posees son visibles pero solo de lectura.
Salvar Actualizar
Archivos activos
Descargar todo
Archivos activos
Descargar todo

Tamaño de página

102050100
Nombre del archivo
Creado en
Datos
chart.png22/4/2026 1:02
chart.png
PowerPortalsProDemo_1_0_0_1 (1)22/4/2026 1:14
PowerPortalsProDemo_1_0_0_1 (1).zip
Sample — API Schema22/4/2026 14:27
api-schema.xml
Sample — App Configuration22/4/2026 14:27
app-config.json
Sample — Brand Blue22/4/2026 14:27
brand-blue.png
Sample — Brand Green22/4/2026 14:27
brand-green.png
Sample — Brand Red22/4/2026 14:27
brand-red.png
Sample — Client Script22/4/2026 14:27
app.js
Sample — Client Types22/4/2026 14:27
app.ts
Sample — Deploy Log22/4/2026 14:27
deploy.log
Sample — Environment Settings22/4/2026 14:27
settings.yaml
Sample — Landing Page22/4/2026 14:27
index.html
Sample — Meeting Notes22/4/2026 14:27
meeting-notes.md
Sample — Program Entry22/4/2026 14:27
Program.cs
Sample — Project Archive22/4/2026 14:27
archive.zip
Sample — Project Brief22/4/2026 14:27
project-brief.txt
Sample — Quarterly Revenue22/4/2026 14:27
revenue-q1.csv
Sample — Release Checklist22/4/2026 14:27
release-checklist.txt
Sample — Stylesheet22/4/2026 14:27
styles.css
supo2.png22/4/2026 1:02
supo2.png
tooltip.jpg22/4/2026 1:02
tooltip.jpg
React TypeScript
Razor

Uso básico

Especifica la tabla y el nombre lógico de la columna de archivo que debe gestionar la cuadrícula. Los botones de Subir, Reemplazar archivo, Descargar todo y Eliminar aparecen automáticamente; también se pueden dejar caer archivos en la cuadrícula. Pasa un <Buttons> fragmento de renderizado para añadir tus propios botones de barra de herramientas junto a los integrados — el mismo patrón MainGrid y SubGrid soporte.

React
Blazor

Inyección automática de columna de archivo

Si el FetchXML y la lista de columnas de la vista activa no incluyen ya el FileColumn, la cuadrícula lo injerta en una copia clonada para que el nombre del archivo, el icono de tipo y los iconos de previsualización/descarga por fila siempre se muestren — independientemente de la vista que elija el usuario. La instancia de vista compartida en caché queda intacta, por lo que otras cuadrículas no se ven afectadas.

React
Blazor

Tamaño máximo de archivo

Úsalo MaxFileSizeBytes para limitar el tamaño de los archivos subidos. La cuadrícula limita tu valor al menor de los metadatos de la MaxSizeInKB columna y la configuración del maxuploadfilesize entorno, por lo que un archivo rechazado en el lado del servidor no puede ponerse en cola en primer lugar. Los archivos que superan el límite efectivo generan un diálogo antes de enviarse a Dataverse.

React
Blazor

Extensiones permitidas

Pasar AllowedExtensions para restringir subidas a una lista blanca de extensiones. Los archivos rechazados generan un diálogo explicando qué extensiones son aceptadas. Cuando no se activa, se permite cualquier extensión (sujeta a la lista de bloqueo del entorno que aparece más abajo).

React
Blazor

Lista de bloqueos ambientales

Los entornos Dataverse mantienen una blockedattachments lista que rechaza ciertas extensiones (SVG, EXE, BAT, JS, etc.) independientemente del llamante. Lee FileGrid esta lista en la entrada a través de la IPowerPortalsProService.GetEnvironmentFileSettingsAsync() llamada, la almacena en caché durante una hora y rechaza los archivos coincidentes del lado del cliente con un mensaje amigable en lugar de un fallo del lado del servidor. La lista de bloqueo ambiental siempre gana AllowedExtensions — la lista de permitir de una columna no puede anular un bloque a nivel de entorno.

¿No se pueden subir SVGs?

Los entornos Dataverse bloquean svg por defecto porque los SVG pueden transportar scripts embebidos. Si necesitas cargas SVG, elimínalas de la configuración de 'Establecer extensiones de archivo bloqueadas para adjuntos ' en el centro de administración de Power Platform — esta red detectará el cambio en menos de una hora.

Bloqueo de permisos

El botón de Subir y la activación de la zona de caída respetan si el usuario actual del portal tiene Create permiso en la tabla objetivo. Cuando el usuario no tiene crear, el botón de Subir está oculto y arrastrar archivos por la cuadrícula no es una opción — la aplicación del servidor sigue funcionando como backstop. Los permisos se resuelven mediante ITablePermissionCache implementaciones personalizadas ITableRecordPermissionHandler que alimentan la misma lógica de gates. El botón de Subir también se oculta automáticamente cada vez que se seleccionan una o más filas, para mantener la barra de herramientas ordenada.

Vista previa y descarga por fila

La columna del archivo se muestra como [type-icon] filename [eye] [download]. El icono de Vista previa abre — FilePreviewDialog consulta Renderizado de Vista previa más abajo para ver cómo es cada tipo de archivo. El icono de descarga transmite el archivo a través del FileDownload componente JSInterop. Cualquiera de los dos iconos puede desactivarse por cuadrícula mediante AllowPreviewForFileColumns / AllowDownloadForFileColumns.

React
Blazor

El icono de Vista previa solo aparece para los tipos de archivo que el diálogo puede renderizar: las extensiones no soportadas saltan el icono en lugar de mostrar una posibilidad rota. Ambos iconos de acción están ocultos en filas de creación pendiente (registros que aún no se han guardado en Dataverse).

Renderizado de previsualización

Elige FilePreviewDialog un renderizador en función de la extensión del archivo:

  • Imágenes (png, jpg, jpeg, gif, bmp, webp, svg) — en línea <img> con una URL de datos base64. Limitado a 70 vh, así que las imágenes muy altas se mantienen desplazables dentro del diálogo.
  • PDFs — cargados como URL de blob en un <iframe> SO. El visor integrado del navegador gestiona el desplazamiento multipágina, el zoom, la búsqueda y la selección de texto. La URL del blob se revoca al cerrar el diálogo.
  • Markdown (md, markdown) — convertido a HTML en el lado del servidor a través de Markdig con sus extensiones avanzadas (tablas, listas de tareas, código vendido, autolinks, notas al pie) y mostrado en una pestaña de Vista Previa . Una segunda pestaña de Texto muestra la fuente en bruto con resaltado de sintaxis. El paso HTML en bruto en el código fuente se elimina antes de renderizar, por lo que no .md se puede introducir <script> de contrabando o un <iframe>archivo .
  • Texto fuente y estructurado (json, xml, yaml, yml, html, htm, js, ts, cs, css) — renderizado en un <pre> con highlight.js colorización. El idioma se elige de la extensión mediante FileTypeIcons.GetSyntaxLanguage; solo los idiomas anunciados se agrupan para mantener el tamaño del activo pequeño. El resaltado se realiza a través de un módulo colocalizado FilePreviewDialog.razor.ts sobre interoperación JS — si la llamada a interop falla, el diálogo vuelve silenciosamente a texto sin colorear.
  • Texto plano (txt, log, csv) — renderizado en un <pre> sin resaltado. no se usa intencionadamente highlightAuto porque sus suposiciones en fragmentos cortos (un pequeño log o una sola fila CSV) producen un color más confuso que no tener color alguno.
  • Archivos zip (zip) — analizados en memoria y System.IO.Compression.ZipArchive renderizados como un panel dividido: un árbol plegable a la izquierda (carpetas primero, alfabéticamente, con tamaño por entrada y última modificación apareciendo al pasar el cursor), y la vista previa de la entrada seleccionada a la derecha. El panel derecho es anidado FilePreviewContent, así que los archivos internos se enrutan a través de la misma búsqueda del renderizador — imágenes, PDFs, fuente resaltada, markdown e incluso zip-within-zip previsualizan de la misma manera que lo harían por separado. El archivo nunca se extrae al disco.

Descargar todo (Zip)

El botón Descargar Todo de la barra de herramientas transmite cada archivo actualmente renderizado en la cuadrícula como un solo zip, integrado en memoria del ZipArchive lado del servidor y canalizado a través del circuito Blazor — sin necesidad de endpoint HTTP adicional. Los nombres de archivo duplicados reciben un (2)sufijo , (3) . Configurado AllowDownloadAll="false" para ocultar el botón sin desactivar los iconos de descarga por fila.

React
Blazor

Personalización del registro creado

Por defecto, cada archivo subido crea un registro mínimo con solo la columna del archivo poblada. Para tablas con columnas adicionales requeridas — o para sembrar otros datos — pasa OnUploadRecordAsync y devuelve un archivo completamente TableRecordpoblado . El delegado es asincrónico, así que puedes consultar servicios, resolver búsquedas o generar nombres antes de volver.

React
Blazor

MainContext / Integración de RecordContext

Cuando la cuadrícula está anidada dentro de un MainContext o RecordContext, las subidas se organizan en la lista de creación pendiente de la cuadrícula en lugar de crearse inmediatamente. El contexto IsDirty padre cambia a true, y en SaveAsync los registros en etapas (con sus FileValue bytes) se agrupan ExecuteMultipleAsync — que gestiona la subida de archivos fragmentados post-creación para cada registro. Esto mantiene las subidas de archivos transaccionales con el resto del formulario.

React
Blazor

Las filas de pending-create aparecen inmediatamente en la cuadrícula con el icono de tipo de archivo y el nombre del archivo, pero sin los iconos de Vista previa o descarga (aún no hay archivo de servidor). Se eliminan de la lista pendiente cuando el contexto se guarda, o se reinician mediante RefreshContextButton / MainContext.ResetState().

Reaccionar Blazor

FileGrid Clase

Parámetros

Nombre
Tipo
Default
Descripción
AllowChangingPageSizebool
True
Si el usuario puede cambiar el tamaño de la página a través del desplegable de paginación. Reenviado a FluidGridBase.PermitiendoCambiarTamañoPágina.
AllowDownloadAllbool
True
Si el botón 'Descargar todo' de la barra de herramientas se renderiza o no. Por defecto es verdadero. Set a falsear en cuadrículas de solo lectura o orientadas a pantalla donde la exportación masiva no es apropiado — el icono de descarga por fila sigue funcionando cuando FileGrid.AllowDownloadForFileColumns está habilitado.
AllowDownloadForFileColumnsbool
True
Si las celdas de columna de archivo e imagen muestran un icono de descarga por fila al final Edge. Por defecto es verdadero. Reenviado a FluentGridBase.AllowDownloadForFileColumns.
AllowedExtensionsIReadOnlyCollection<string>?
Lista opcional de extensiones (con o sin el punto inicial, insensible a mayúsculas). Cuando se configura, los archivos cuya extensión no está en la lista se rechazan antes de subir. Cuando nulo, cualquier extensión es aceptada.
AllowPreviewForFileColumnsbool
True
Si las celdas de columna de archivo e imagen se muestran un icono de vista previa por fila en el final Edge. Por defecto es verdadero. Reenviado a FluentGridBase.AllowPreviewForFileColumns.
AllowSearchbool
True
Si renderizar la caja de búsqueda de cuadrícula. Reenviado a GridBase.AllowSearch.
AutoAddFileColumnIfMissingFromViewbool
True
Si la cuadrícula se suma FileGrid.FileColumn automáticamente a la vista activa cuando la vista no lo incluye ya. Por defecto es verdadero, así que los datos del archivo son visibles sin importar que la vista elija el usuario. Ponlo en falso para que la vista sea la única fuente de Verdad para columnas renderizadas — útil cuando una vista muestra deliberadamente solo metadatos (nombre, uploaded-on, etc.) sin la celda de archivo.
BorderVisiblebool
True
Si la cuadrícula dibuja su borde temático. Reenviado a FluidBaseGrid.BorderVisible.
ButtonsRenderFragment?
Botones opcionales de cuadrícula suministrados por el llamador (renderizados junto con los botones de archivo integrados).
CustomViewDefinitionsList<GridViewDefinition>?
Definiciones de vistas personalizadas (FetchXML en línea), reenviadas a GridBase.CustomViewDefinitions.
DefaultItemsPerPageint
50
Tamaño de página por defecto. Reenviado a GridBase.DefaultItemsPerPage.
DefaultViewIdGuid?
ID de vista opcional por defecto, reenviado a GridBase.DefaultViewId.
FileColumn*string
El nombre lógico de la columna de archivo en FileGrid.TableName esta cuadrícula gestiona. Obligatorio porque un registro puede exponer varias columnas de archivo; La red necesita saberlo A cuál se dirige las acciones de subir/descargar/previsualizar.
FullSizebool
False
Si la cuadrícula ocupa toda la altura de su contenedor. Reenviado a FluentGridBase.FullSize.
HidePagingbool
False
Oculta completamente los controles de paginación. Reenviado a GridBase.HidePaging.
IncludeSearchInPersistedStatebool
False
Si incluir el texto de búsqueda activa en la URL de estado persistente. Reenviado a GridBase.IncludeSearchInPersistedState.
MaxFileSizeByteslong
134217728
Límite superior en una sola subida, en bytes. Los archivos de mayor tamaño que esto son rechazados en el lado del cliente con un diálogo. Por defecto es 128MB — el techo documentado de Dataverse para columnas de archivos.
MaxHeightstring?
La altura máxima a la que debería expandirse el cuerpo de la rejilla. Reenviado a GridBase.MaxHeight.
MinHeightstring?
Altura mínima que debe ocupar el cuerpo de la rejilla. Reenviado a GridBase.MinHeight.
OnUploadRecordAsyncFunc<string, byte[], Task<TableRecord>>?
Personaliza el registro creado para cada archivo subido. Cuando se ajusta, la cuadrícula espera al delega con el nombre del archivo y los bytes y utiliza el nombre devuelto Models.TableRecord como el registro a crear (que debe tener la columna de archivo llena). Cuando es nulo, la cuadrícula crea un registro mínimo con solo la columna del archivo poblada. Asíncrono, así Los llamantes pueden recuperar los valores predeterminados, resolver búsquedas o acceder a otros servicios antes de volver El récord.
PageSizesIEnumerable<int>
Las opciones de tamaño de página se muestran en el desplegable de tamaño de página de la cuadrícula. Reenviado a GridBase.PageSizes.
PagingModeGridPagingMode
Paged
Modo de paginación. Reenviado a FluentGridBase.PagingMode.
PersistedStateQueryParameterstring?
Nombre del parámetro de consulta URL que mantiene el estado interactivo de la cuadrícula. Reenviado a GridBase.PersistedStateQueryParameter.
SelectedRecordsIEnumerable<TableRecord>
Registros seleccionados actualmente en la cuadrícula. Bindable bidireccional con FileGrid.SelectedRecordsChanged.
SelectFromEntireRowbool
True
Ya sea que hagas clic en cualquier línea seleccionada. Reenviado a FluentGridBase.SelectFromEntireRow.
SelectModeDataGridSelectMode
Multiple
Modo de selección de filas. Por defecto es multi-select, así que la descarga masiva funciona desde el primer momento. Reenviado a FluentGridBase.SelectMode.
TableName*string
El nombre lógico de la tabla se muestra en la cuadrícula. Reenviado al archivo envuelto Components.MainGrid.
Titlestring?
Texto opcional de cabecera reenviado a la cuadrícula.
TransformViewAsyncFunc<GridViewDefinition, Task<GridViewDefinition>>?
Gancho opcional para transformar la vista activa. Aplicado después del incorporado inyección de columnas de archivo, para que los llamantes puedan superponer ajustes adicionales de vista sin Perdiendo la garantía de columna de archivo. Asíncrona para que los llamantes puedan consultar servicios mientras Decidir cómo moldear la vista.
ViewIdsIEnumerable<Guid>?
Lista opcional de IDs de vista, reenviada a GridBase.ViewIds.
ViewSortViewSort
NameAscending
Ordena el menú despregable de la vista. Reenviado a GridBase.ViewSort.
Nombre: AllowChangingPageSize
Tipo: bool
Default: True
Descripción: Si el usuario puede cambiar el tamaño de la página a través del desplegable de paginación. Reenviado a FluidGridBase.PermitiendoCambiarTamañoPágina.
Nombre: AllowDownloadAll
Tipo: bool
Default: True
Descripción: Si el botón 'Descargar todo' de la barra de herramientas se renderiza o no. Por defecto es verdadero. Set a falsear en cuadrículas de solo lectura o orientadas a pantalla donde la exportación masiva no es apropiado — el icono de descarga por fila sigue funcionando cuando FileGrid.AllowDownloadForFileColumns está habilitado.
Nombre: AllowDownloadForFileColumns
Tipo: bool
Default: True
Descripción: Si las celdas de columna de archivo e imagen muestran un icono de descarga por fila al final Edge. Por defecto es verdadero. Reenviado a FluentGridBase.AllowDownloadForFileColumns.
Nombre: AllowedExtensions
Tipo: IReadOnlyCollection<string>?
Descripción: Lista opcional de extensiones (con o sin el punto inicial, insensible a mayúsculas). Cuando se configura, los archivos cuya extensión no está en la lista se rechazan antes de subir. Cuando nulo, cualquier extensión es aceptada.
Nombre: AllowPreviewForFileColumns
Tipo: bool
Default: True
Descripción: Si las celdas de columna de archivo e imagen se muestran un icono de vista previa por fila en el final Edge. Por defecto es verdadero. Reenviado a FluentGridBase.AllowPreviewForFileColumns.
Nombre: AllowSearch
Tipo: bool
Default: True
Descripción: Si renderizar la caja de búsqueda de cuadrícula. Reenviado a GridBase.AllowSearch.
Nombre: AutoAddFileColumnIfMissingFromView
Tipo: bool
Default: True
Descripción: Si la cuadrícula se suma FileGrid.FileColumn automáticamente a la vista activa cuando la vista no lo incluye ya. Por defecto es verdadero, así que los datos del archivo son visibles sin importar que la vista elija el usuario. Ponlo en falso para que la vista sea la única fuente de Verdad para columnas renderizadas — útil cuando una vista muestra deliberadamente solo metadatos (nombre, uploaded-on, etc.) sin la celda de archivo.
Nombre: BorderVisible
Tipo: bool
Default: True
Descripción: Si la cuadrícula dibuja su borde temático. Reenviado a FluidBaseGrid.BorderVisible.
Nombre: Buttons
Tipo: RenderFragment?
Descripción: Botones opcionales de cuadrícula suministrados por el llamador (renderizados junto con los botones de archivo integrados).
Nombre: CustomViewDefinitions
Tipo: List<GridViewDefinition>?
Descripción: Definiciones de vistas personalizadas (FetchXML en línea), reenviadas a GridBase.CustomViewDefinitions.
Nombre: DefaultItemsPerPage
Tipo: int
Default: 50
Descripción: Tamaño de página por defecto. Reenviado a GridBase.DefaultItemsPerPage.
Nombre: DefaultViewId
Tipo: Guid?
Descripción: ID de vista opcional por defecto, reenviado a GridBase.DefaultViewId.
Nombre: FileColumn*
Tipo: string
Descripción: El nombre lógico de la columna de archivo en FileGrid.TableName esta cuadrícula gestiona. Obligatorio porque un registro puede exponer varias columnas de archivo; La red necesita saberlo A cuál se dirige las acciones de subir/descargar/previsualizar.
Nombre: FullSize
Tipo: bool
Default: False
Descripción: Si la cuadrícula ocupa toda la altura de su contenedor. Reenviado a FluentGridBase.FullSize.
Nombre: HidePaging
Tipo: bool
Default: False
Descripción: Oculta completamente los controles de paginación. Reenviado a GridBase.HidePaging.
Nombre: IncludeSearchInPersistedState
Tipo: bool
Default: False
Descripción: Si incluir el texto de búsqueda activa en la URL de estado persistente. Reenviado a GridBase.IncludeSearchInPersistedState.
Nombre: MaxFileSizeBytes
Tipo: long
Default: 134217728
Descripción: Límite superior en una sola subida, en bytes. Los archivos de mayor tamaño que esto son rechazados en el lado del cliente con un diálogo. Por defecto es 128MB — el techo documentado de Dataverse para columnas de archivos.
Nombre: MaxHeight
Tipo: string?
Descripción: La altura máxima a la que debería expandirse el cuerpo de la rejilla. Reenviado a GridBase.MaxHeight.
Nombre: MinHeight
Tipo: string?
Descripción: Altura mínima que debe ocupar el cuerpo de la rejilla. Reenviado a GridBase.MinHeight.
Nombre: OnUploadRecordAsync
Tipo: Func<string, byte[], Task<TableRecord>>?
Descripción: Personaliza el registro creado para cada archivo subido. Cuando se ajusta, la cuadrícula espera al delega con el nombre del archivo y los bytes y utiliza el nombre devuelto Models.TableRecord como el registro a crear (que debe tener la columna de archivo llena). Cuando es nulo, la cuadrícula crea un registro mínimo con solo la columna del archivo poblada. Asíncrono, así Los llamantes pueden recuperar los valores predeterminados, resolver búsquedas o acceder a otros servicios antes de volver El récord.
Nombre: PageSizes
Tipo: IEnumerable<int>
Descripción: Las opciones de tamaño de página se muestran en el desplegable de tamaño de página de la cuadrícula. Reenviado a GridBase.PageSizes.
Nombre: PagingMode
Tipo: GridPagingMode
Default: Paged
Descripción: Modo de paginación. Reenviado a FluentGridBase.PagingMode.
Nombre: PersistedStateQueryParameter
Tipo: string?
Descripción: Nombre del parámetro de consulta URL que mantiene el estado interactivo de la cuadrícula. Reenviado a GridBase.PersistedStateQueryParameter.
Nombre: SelectedRecords
Tipo: IEnumerable<TableRecord>
Descripción: Registros seleccionados actualmente en la cuadrícula. Bindable bidireccional con FileGrid.SelectedRecordsChanged.
Nombre: SelectFromEntireRow
Tipo: bool
Default: True
Descripción: Ya sea que hagas clic en cualquier línea seleccionada. Reenviado a FluentGridBase.SelectFromEntireRow.
Nombre: SelectMode
Tipo: DataGridSelectMode
Default: Multiple
Descripción: Modo de selección de filas. Por defecto es multi-select, así que la descarga masiva funciona desde el primer momento. Reenviado a FluentGridBase.SelectMode.
Nombre: TableName*
Tipo: string
Descripción: El nombre lógico de la tabla se muestra en la cuadrícula. Reenviado al archivo envuelto Components.MainGrid.
Nombre: Title
Tipo: string?
Descripción: Texto opcional de cabecera reenviado a la cuadrícula.
Nombre: TransformViewAsync
Tipo: Func<GridViewDefinition, Task<GridViewDefinition>>?
Descripción: Gancho opcional para transformar la vista activa. Aplicado después del incorporado inyección de columnas de archivo, para que los llamantes puedan superponer ajustes adicionales de vista sin Perdiendo la garantía de columna de archivo. Asíncrona para que los llamantes puedan consultar servicios mientras Decidir cómo moldear la vista.
Nombre: ViewIds
Tipo: IEnumerable<Guid>?
Descripción: Lista opcional de IDs de vista, reenviada a GridBase.ViewIds.
Nombre: ViewSort
Tipo: ViewSort
Default: NameAscending
Descripción: Ordena el menú despregable de la vista. Reenviado a GridBase.ViewSort.

Eventos

Nombre
Tipo
Descripción
SelectedRecordsChangedEventCallback<IEnumerable<TableRecord>>
Se dispara cuando cambia el conjunto de registros seleccionado.
Nombre: SelectedRecordsChanged
Tipo: EventCallback<IEnumerable<TableRecord>>
Descripción: Se dispara cuando cambia el conjunto de registros seleccionado.