WebCheckBox.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using FastReport.Dialog;
  3. using static FastReport.Web.Constants;
  4. namespace FastReport.Web
  5. {
  6. public partial class Dialog
  7. {
  8. private void CheckBoxClick(CheckBoxControl cb, string data)
  9. {
  10. bool oldValue = cb.Checked;
  11. cb.Checked = data == "true";
  12. cb.FilterData();
  13. cb.OnClick(null);
  14. if (oldValue != cb.Checked)
  15. cb.OnCheckedChanged(EventArgs.Empty);
  16. }
  17. private string GetCheckBoxHtml(CheckBoxControl control)
  18. {
  19. string id = GetControlID(control);
  20. string html = $"<span style=\"{GetCheckBoxStyle(control)}\">" +
  21. $"<input style=\"vertical-align:middle;padding:0;margin:0 5px 0 0;\"" +
  22. $" type=\"checkbox\" name=\"{control.Name}\" value=\"{control.Text}\"" +
  23. $" onclick=\"{GetEvent(ONCLICK, control, NeedRefresh(control) ? SILENT_RELOAD : DIALOG, $"document.getElementById('{id}').checked")}\"" +
  24. $" id=\"{id}\" {(control.Checked ? "checked" : "")} {(control.Enabled ? "" : "disabled")}/>" +
  25. $"<label style=\"{GetControlFont(control.Font)}\" for=\"{id}\">{control.Text}</label></span>";
  26. return html;
  27. }
  28. private string GetCheckBoxStyle(CheckBoxControl control)
  29. {
  30. return GetStandardStyle(control);
  31. }
  32. }
  33. }