Componente Transfer — sgcHTML | eSeGeCe

Transfer

TsgcHTMLComponent_Transfer — renderiza un widget de transferencia de doble lista que mueve elementos entre un panel disponible y uno asignado, con filtrado y vinculación a datasets, en Delphi, C++ Builder y .NET.

TsgcHTMLComponent_Transfer

Añade elementos (o vincula un dataset), deja que el visitante los mueva entre los dos paneles con los botones, un doble clic o el cuadro de filtro, y luego lee la propiedad HTML.

Clase del componente

TsgcHTMLComponent_Transfer

Genera

Widget de doble panel de Bootstrap 5 + CSS encapsulado

Lenguajes

Delphi, C++ Builder, .NET

Añade elementos, define un nombre de campo, renderízalo

Llama a AddItem para cada fila (o LoadFromDataSet para todo un dataset), define FieldName para que los elementos asignados se envíen como campos ocultos, y luego lee HTML.

uses
  sgcHTML_Component_Transfer;

var
  oTransfer: TsgcHTMLComponent_Transfer;
begin
  oTransfer := TsgcHTMLComponent_Transfer.Create(nil);
  try
    oTransfer.TransferID := 'roles';
    oTransfer.FieldName := 'roles';
    oTransfer.TitleSource := 'Available roles';
    oTransfer.TitleTarget := 'Assigned roles';
    oTransfer.ShowFilter := True;
    oTransfer.Height := '260px';

    oTransfer.AddItem('admin', 'Administrator');
    oTransfer.AddItem('editor', 'Editor', True);
    oTransfer.AddItem('viewer', 'Viewer');

    WebModule.Response := oTransfer.HTML;   // dual panels + buttons + script
  finally
    oTransfer.Free;
  end;
end;

// Or bind it straight to a dataset:
oTransfer.LoadFromDataSet(qryRoles, 'RoleId', 'RoleName', 'IsAssigned');
// includes: sgcHTML_Component_Transfer.hpp

TsgcHTMLComponent_Transfer *oTransfer = new TsgcHTMLComponent_Transfer(NULL);
try
{
  oTransfer->TransferID = "roles";
  oTransfer->FieldName = "roles";
  oTransfer->TitleSource = "Available roles";
  oTransfer->TitleTarget = "Assigned roles";
  oTransfer->ShowFilter = true;
  oTransfer->Height = "260px";

  oTransfer->AddItem("admin", "Administrator", false);
  oTransfer->AddItem("editor", "Editor", true);
  oTransfer->AddItem("viewer", "Viewer", false);

  String html = oTransfer->HTML;   // dual panels + buttons + script
}
__finally
{
  delete oTransfer;
}
using esegece.sgcWebSockets;

var transfer = new TsgcHTMLComponent_Transfer();
transfer.TransferID = "roles";
transfer.FieldName = "roles";
transfer.TitleSource = "Available roles";
transfer.TitleTarget = "Assigned roles";
transfer.ShowFilter = true;
transfer.Height = "260px";

transfer.AddItem("admin", "Administrator", false);
transfer.AddItem("editor", "Editor", true);
transfer.AddItem("viewer", "Viewer", false);

string html = transfer.HTML;   // dual panels + buttons + script

Propiedades y métodos clave

Los miembros que más vas a usar.

Items

Items contiene las filas, cada una un TsgcHTMLTransferItem con Value, Text, Assigned y Disabled.

AddItem

AddItem(aValue, aText, aAssigned) añade una fila y la coloca en el panel de origen o destino.

LoadFromDataSet

LoadFromDataSet(aDataSet, aValueField, aTextField, aAssignedField) vacía Items y lo repuebla a partir de un TDataSet.

Títulos de panel

TitleSource/TitleTarget etiquetan los dos paneles; AddCaption/RemoveCaption/AddAllCaption/RemoveAllCaption etiquetan los cuatro botones de movimiento.

Filtrado

ShowFilter añade un cuadro de búsqueda en vivo a cada panel; FilterPlaceholder sobrescribe su texto de marcador de posición.

Envío del formulario

FieldName emite un campo oculto por cada elemento asignado al enviar el formulario; Height limita el área de desplazamiento de cada panel; TransferID define el id del elemento.

Sigue explorando

Ayuda en líneaReferencia completa de la API y guía de uso para este componente.
Todos los componentes de sgcHTMLExplora la matriz completa de más de 80 componentes.
Descargar prueba gratuitaLa prueba de 30 días incluye los proyectos de demostración 60.HTML.
PreciosLicencias Single, Team y Site con código fuente completo.

¿Listo para empezar?

Descarga la prueba gratuita y añade un widget de transferencia de doble lista a tu aplicación web en Delphi, C++ Builder o .NET.