demodatatables.lpr 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. program demodatatables;
  2. {$mode objfpc}
  3. uses
  4. browserapp, JS, Classes, SysUtils, Web, libjquery, libdatatables;
  5. type
  6. TMyApplication = class(TBrowserApplication)
  7. procedure doRun; override;
  8. end;
  9. procedure TMyApplication.doRun;
  10. Var
  11. Opts : TJSDataTableOptions;
  12. Lang : TJSDTOLanguageOptions;
  13. LangPag : TJSDTOLanguagePaginateOptions;
  14. checkCol,cCol : TJSDTOColumn;
  15. begin
  16. Opts:=TJSDataTableOptions.New;
  17. opts.Select:=True;
  18. Lang:=TJSDTOLanguageOptions.new;
  19. LangPag:=TJSDTOLanguagePaginateOptions.New;
  20. // These are ignored because of the lang.url ?
  21. LangPag.previous:='<i class="fas fa-lg fa-angle-left"></i>';
  22. LangPag.Next:='<i class="fas fa-lg fa-angle-right"></i>';
  23. Lang.paginate:=LangPag;
  24. opts.Language:=Lang;
  25. cCol:=TJSDTOColumn.New;
  26. cCol.DataInt:=-1;
  27. checkCol:=TJSDTOColumn.New;
  28. checkCol.orderable:=false;
  29. checkCol.className:='select-checkbox';
  30. checkCol.DefaultContent:='';
  31. checkCol.targets:=0;
  32. { Opts.columns:=[
  33. cCol, // Fake, data = -1
  34. Nil,
  35. Nil,
  36. Nil,
  37. Nil,
  38. Nil,
  39. Nil
  40. ];}
  41. Opts.columnDefs:=[CheckCol];
  42. opts.SelectObj:=TJSDTOSelectOptions.new;
  43. opts.SelectObj.style:='os';
  44. opts.SelectObj.selector:='td:first-child';
  45. opts.order:=[[1,'asc']];
  46. opts.responsive:=False;
  47. JQuery('#example').dataTableAPi(opts);
  48. Terminate;
  49. end;
  50. var
  51. Application : TMyApplication;
  52. begin
  53. Application:=TMyApplication.Create(nil);
  54. Application.Initialize;
  55. Application.Run;
  56. Application.Free;
  57. end.