MultiSelect
TsgcHTMLComponent_MultiSelect — 渲染带有标签、分组选项和数据集绑定的可搜索多选下拉框,适用于 Delphi、C++ Builder 和 .NET。
TsgcHTMLComponent_MultiSelect — 渲染带有标签、分组选项和数据集绑定的可搜索多选下拉框,适用于 Delphi、C++ Builder 和 .NET。
一个将所选项保留为标签的下拉控件。添加选项(或绑定数据集),可选地对其分组并限制选择数量,然后读取 HTML 属性。
TsgcHTMLComponent_MultiSelect
Bootstrap 下拉框 + 标签(自包含控件)
Delphi, C++ Builder, .NET
设置 Placeholder、FieldName 和 Size,用 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 集合(每个都有 Value、Text、Selected、Disabled 和 Group)。
AddOption(aValue, aText, aSelected) 追加一个条目;分组的条目共享相同的 Group 值,并渲染在下拉框标题下。
LoadFromDataSet(aDataSet, aValueField, aTextField, aSelectedField) 清空并从查询重新填充 Options。
ShowSearch(默认 True)在下拉框内添加一个过滤框;SearchPlaceholder 和 NoResultsText 可覆盖其文案,默认回退到当前语言环境。
MaxSelections 限制一次最多可选择多少个标签(0 表示不限);Size(mssDefault、mssSmall、mssLarge)对应 Bootstrap 的 form-select 尺寸。
FieldName 为每个选中的选项渲染一个隐藏 <input>,使表单提交每个值;MultiSelectID 设置元素 id。