Form

TsgcHTMLComponent_Form — kreator formularzy sterowany danymi, który renderuje formularze Bootstrap 5 z polami tekstowymi, listami wyboru, polami wyboru, polami radiowymi, plikami, datami i zakresami, walidacją, układami pionowym/poziomym/wbudowanym oraz generowaniem formularzy przez AI, w Delphi, C++ Builder i .NET.

TsgcHTMLComponent_Form

Komponent formularza, który buduje element <form> Bootstrap z kolekcji Fields. Dodaj pola (lub powiąż zestaw danych), wybierz układ, a następnie odczytaj właściwość HTML.

Klasa komponentu

TsgcHTMLComponent_Form

Renderuje

Znaczniki <form> Bootstrap 5

Języki

Delphi, C++ Builder, .NET

Utwórz go, dodaj pola, wyrenderuj

Ustaw Action, Method i Layout, dodaj jedno lub więcej Fields, a następnie odczytaj HTML (albo umieść go na stronie TsgcHTMLTemplate_Bootstrap).

uses
  sgcHTML_Enums, sgcHTML_Component_Form;

var
  oForm: TsgcHTMLComponent_Form;
  oField: TsgcHTMLFormField;
begin
  oForm := TsgcHTMLComponent_Form.Create(nil);
  try
    oForm.Action := '/contact';
    oForm.Method := fmPost;
    oForm.Layout := flVertical;
    oForm.SubmitText := 'Send';
    oForm.SubmitStyle := bsPrimary;
    oForm.ShowReset := True;

    oField := oForm.Fields.Add;
    oField.FieldType := ftText;
    oField.Name := 'name';
    oField.Label_ := 'Full name';
    oField.Required := True;

    oField := oForm.Fields.Add;
    oField.FieldType := ftEmail;
    oField.Name := 'email';
    oField.Label_ := 'Email';
    oField.Placeholder := 'you@example.com';

    WebModule.Response := oForm.HTML;   // Bootstrap <form> markup
  finally
    oForm.Free;
  end;
end;

// Or build the fields straight from a dataset:
oForm.LoadFromDataSet(qryCustomer);
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_Form.hpp

TsgcHTMLComponent_Form *oForm = new TsgcHTMLComponent_Form(NULL);
try
{
  oForm->Action = "/contact";
  oForm->Method = fmPost;
  oForm->Layout = flVertical;
  oForm->SubmitText = "Send";
  oForm->SubmitStyle = bsPrimary;
  oForm->ShowReset = true;

  TsgcHTMLFormField *oField = oForm->Fields->Add();
  oField->FieldType = ftText;
  oField->Name = "name";
  oField->Label_ = "Full name";
  oField->Required = true;

  oField = oForm->Fields->Add();
  oField->FieldType = ftEmail;
  oField->Name = "email";
  oField->Label_ = "Email";
  oField->Placeholder = "you@example.com";

  String html = oForm->HTML;   // Bootstrap <form> markup
}
__finally
{
  delete oForm;
}
using esegece.sgcWebSockets;

var form = new TsgcHTMLComponent_Form();
form.Action = "/contact";
form.Method = TsgcHTMLFormMethod.fmPost;
form.Layout = TsgcHTMLFormLayout.flVertical;
form.SubmitText = "Send";
form.SubmitStyle = TsgcHTMLButtonStyle.bsPrimary;
form.ShowReset = true;

var field = form.Fields.Add();
field.FieldType = TsgcHTMLFieldType.ftText;
field.Name = "name";
field.Label_ = "Full name";
field.Required = true;

field = form.Fields.Add();
field.FieldType = TsgcHTMLFieldType.ftEmail;
field.Name = "email";
field.Label_ = "Email";
field.Placeholder = "you@example.com";

string html = form.HTML;   // Bootstrap <form> markup

Kluczowe właściwości i metody

Składniki, po które sięgasz najczęściej.

Pola

Fields to kolekcja TsgcHTMLFormField; wywołaj Fields.Add i ustaw FieldType (ftText, ftEmail, ftSelect, ftCheckbox, ftRadio, ftFile, ftDate, ftRange i więcej), Name, Label_, Value i Required.

Wysyłanie

Action i Method (fmGet / fmPost) wskazują cel wysyłki; FormID identyfikuje element formularza.

Układ

Layout wybiera flVertical, flHorizontal lub flInline; LabelColWidth i FieldColWidth wymiarują kolumny układu poziomego.

Przyciski

SubmitText, SubmitStyle (TsgcHTMLButtonStyle), ShowReset i ResetText sterują przyciskami akcji.

Wiązanie z zestawem danych

LoadFromDataSet(aDataSet) generuje pola na podstawie kolumn zapytania; LoadValuesFromDataSet(aDataSet) ponownie wypełnia istniejące pola wartościami bieżącego wiersza.

Kreator formularzy AI

AIBuildEnabled i AIBuildPlaceholder dodają pasek promptu; BuildFromAIDescription(aDescription) wyzwala OnAIBuildForm, a LoadFieldsFromJSON(aJSON) wypełnia pola z definicji JSON.

Poznawaj dalej

Wszystkie komponenty sgcHTMLPrzejrzyj pełną matrycę funkcji 60+ komponentów.
Pobierz bezpłatną wersję próbną30-dniowa wersja próbna zawiera projekty demonstracyjne 60.HTML.
CennikLicencje Single, Team i Site z pełnym kodem źródłowym.

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i zacznij budować interfejsy webowe w Delphi, C++ Builder i .NET.