Transfer コンポーネント — sgcHTML | eSeGeCe

Transfer

TsgcHTMLComponent_Transfer — Delphi、C++ Builder、.NET で、利用可能パネルと割り当て済みパネルの間で項目を移動する、フィルタリングとデータセットバインディングを備えたデュアルリストボックス転送ウィジェットをレンダリングします。

TsgcHTMLComponent_Transfer

項目を追加し(またはデータセットをバインドし)、訪問者がボタン、ダブルクリック、またはフィルターボックスで 2 つのパネル間を移動できるようにしてから、HTML プロパティを読み取ります。

コンポーネントクラス

TsgcHTMLComponent_Transfer

レンダリング内容

Bootstrap 5 デュアルパネルウィジェット + スコープ付き CSS

ファミリー

フォーム & 入力

言語

Delphi, C++ Builder, .NET

項目を追加し、フィールド名を設定し、レンダリングする

各行について AddItem を呼び出し(またはデータセット全体には LoadFromDataSet を使い)、割り当て済み項目が隠しフィールドとして送信されるように FieldName を設定してから、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

主なプロパティとメソッド

最もよく使うメンバーです。

Items

Items は行を保持し、各行は ValueTextAssignedDisabled を持つ TsgcHTMLTransferItem です。

AddItem

AddItem(aValue, aText, aAssigned) は行を追加し、ソースパネルまたはターゲットパネルに配置します。

LoadFromDataSet

LoadFromDataSet(aDataSet, aValueField, aTextField, aAssignedField)Items をクリアし、TDataSet から再構築します。

Panel captions

TitleSource/TitleTarget は 2 つのパネルにラベルを付け、AddCaption/RemoveCaption/AddAllCaption/RemoveAllCaption は 4 つの移動ボタンにラベルを付けます。

Filtering

ShowFilter は各パネルにライブ検索ボックスを追加し、FilterPlaceholder はそのプレースホルダーテキストを上書きします。

Posting back

FieldName は送信時に割り当て済み項目ごとに 1 つの隠しフィールドを出力し、Height は各パネルのスクロール領域の上限を設定し、TransferID は要素の id を設定します。

さらに詳しく

オンラインヘルプこのコンポーネントの完全な API リファレンスと使用ガイドです。
すべての sgcHTML コンポーネント80 以上のコンポーネントの全機能マトリックスを閲覧できます。
無料体験版のダウンロード30 日間の体験版には 60.HTML デモプロジェクトが付属します。
価格完全なソースコード付きの Single、Team、Site ライセンス。

始める準備はできましたか?

無料体験版をダウンロードして、Delphi、C++ Builder、.NET でデュアルリストボックス転送ウィジェットの構築を始めましょう。