Adding and Removing items from TWebResponsiveGrid

Good day,
I am new to TMS Web Core and have created the following function and procedure to Add and Remove items from TWebResponsiveGrid components.

Is there a built-in function or better way to do this, or is this ok?


procedure ResponsiveGridAddItem(rgrd: TWebResponsiveGrid; itemID: integer; itemHTML: string);
var
grdItem: TWebResponsiveGridItem;

begin
grdItem := rgrd.Items.Add;
grdItem.ElementHandle.Attrs['data-id'] := itemID.ToString;
grdItem.HTML := itemHTML;
end;

procedure ResponsiveGridRemoveItem(rgrd: TWebResponsiveGrid; itemID: integer);
var
i: integer;

begin
for i := 0 to rgrd.Items.Count - 1 do
begin
if (rgrd.Items[i].ElementHandle.Attrs['data-id'] = itemID.ToString) then
begin
rgrd.Items.Delete(i);
break;
end;
end;
end;

You could do this in a more Pascal way, i.e.

procedure TForm1.WebButton1Click(Sender: TObject);
var
  grdItem: TWebResponsiveGridItem;
begin
  grdItem := WebResponsiveGrid1.Items.Add;
  grdItem.Tag := WebResponsiveGrid1.Items.Count;
  grdItem.HTML := itemHTML + '=' + grdItem.Tag.ToString;
end;

procedure TForm1.WebButton2Click(Sender: TObject);
var
  grdItem: TWebResponsiveGridItem;
  i: integer;
begin
  for i := 0 to WebResponsiveGrid1.Items.Count - 1 do
  begin
    if WebResponsiveGrid1.Items[i].Tag = 4 then
    begin
      grdItem := WebResponsiveGrid1.Items[i];
      grdItem.Free;
      break;
    end;
  end;
end;

Tag limits the 'ID' field to type integer, which it won't necessarily be though. And, accessing the component won't be based on it's position but moreso by an 'ID' value.

Ok, glad to see I was on track.

Thanks.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.