MultiSelect 组件 — sgcHTML | eSeGeCe

MultiSelect

TsgcHTMLComponent_MultiSelect — 渲染带有标签、分组选项和数据集绑定的可搜索多选下拉框,适用于 Delphi、C++ Builder 和 .NET。

TsgcHTMLComponent_MultiSelect

一个将所选项保留为标签的下拉控件。添加选项(或绑定数据集),可选地对其分组并限制选择数量,然后读取 HTML 属性。

组件类

TsgcHTMLComponent_MultiSelect

渲染为

Bootstrap 下拉框 + 标签(自包含控件)

语言

Delphi, C++ Builder, .NET

添加选项,渲染它

设置 PlaceholderFieldNameSize,用 AddOption 添加选项(或绑定 LoadFromDataSet),然后读取 HTML

uses
  sgcHTML_Component_MultiSelect;

var
  oMulti: TsgcHTMLComponent_MultiSelect;
begin
  oMulti := TsgcHTMLComponent_MultiSelect.Create(nil);
  try
    oMulti.FieldName := 'tags';
    oMulti.Placeholder := 'Select tags';
    oMulti.MaxSelections := 3;
    oMulti.Size := mssLarge;

    oMulti.AddOption('js', 'JavaScript', True);
    oMulti.AddOption('py', 'Python');
    oMulti.AddOption('pas', 'Pascal');

    WebModule.Response := oMulti.HTML;   // dropdown + chips + hidden inputs
  finally
    oMulti.Free;
  end;
end;

// Or fill it straight from a dataset:
oMulti.LoadFromDataSet(qryTags, 'Code', 'Name', 'IsSelected');
// includes: sgcHTML_Component_MultiSelect.hpp

TsgcHTMLComponent_MultiSelect *oMulti = new TsgcHTMLComponent_MultiSelect(NULL);
try
{
  oMulti->FieldName = "tags";
  oMulti->Placeholder = "Select tags";
  oMulti->MaxSelections = 3;
  oMulti->Size = mssLarge;

  oMulti->AddOption("js", "JavaScript", true);
  oMulti->AddOption("py", "Python");
  oMulti->AddOption("pas", "Pascal");

  String html = oMulti->HTML;   // dropdown + chips + hidden inputs
}
__finally
{
  delete oMulti;
}
using esegece.sgcWebSockets;

var multi = new TsgcHTMLComponent_MultiSelect();
multi.FieldName = "tags";
multi.Placeholder = "Select tags";
multi.MaxSelections = 3;
multi.Size = TsgcHTMLMultiSelectSize.mssLarge;

multi.AddOption("js", "JavaScript", true);
multi.AddOption("py", "Python");
multi.AddOption("pas", "Pascal");

string html = multi.HTML;   // dropdown + chips + hidden inputs

关键属性与方法

您最常使用的成员。

选项

Options 是一个 TsgcHTMLMultiSelectOption 集合(每个都有 ValueTextSelectedDisabledGroup)。

添加选项

AddOption(aValue, aText, aSelected) 追加一个条目;分组的条目共享相同的 Group 值,并渲染在下拉框标题下。

数据集绑定

LoadFromDataSet(aDataSet, aValueField, aTextField, aSelectedField) 清空并从查询重新填充 Options

搜索

ShowSearch(默认 True)在下拉框内添加一个过滤框;SearchPlaceholderNoResultsText 可覆盖其文案,默认回退到当前语言环境。

限制与尺寸

MaxSelections 限制一次最多可选择多少个标签(0 表示不限);SizemssDefaultmssSmallmssLarge)对应 Bootstrap 的 form-select 尺寸。

提交值

FieldName 为每个选中的选项渲染一个隐藏 <input>,使表单提交每个值;MultiSelectID 设置元素 id。

继续探索

在线帮助此组件的完整 API 参考和使用指南。
所有 sgcHTML 组件浏览 80 多个组件的完整功能矩阵。
下载免费试用版30 天试用版附带 60.HTML 演示项目。
价格Single、Team 和 Site 授权,均含完整源代码。

准备好开始了吗?

下载免费试用版,开始在 Delphi、C++ Builder 和 .NET 中构建 Web 界面。