Snippet of relevant code that's lifted eventually via a blueprint function library as just a quick ref.
```cpp
inline
bool Table2_Row_Begin(FString const& Label = "Table2"
, FString const& Column1 = "Name", FString const& Column2 = "Content"
, ImGuiTableFlags Flags = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_Resizable
, ImVec2 const& OuterSize = ImVec2(0.0f, 0.0f)
, float InnerWidth = 0.0f
) {
bool result = BeginTable(Label, 2, Flags);
TableSetupColumn(StringCast<ANSICHAR>(* Column1).Get());
TableSetupColumn(StringCast<ANSICHAR>(* Column2).Get());
TableHeadersRow();
return result;
}
inline
bool BeginPropertyTable2(FString const& TableId, bool bShowBorders, bool bShowRowBackground) {
FCogWidgets::PushStyleCompact();
ImGuiTableFlags TableFlags = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_Resizable;
if (bShowBorders) { TableFlags |= ImGuiTableFlags_Borders; }
else { TableFlags |= ImGuiTableFlags_NoBordersInBodyUntilResize; }
if (bShowRowBackground) { TableFlags |= ImGuiTableFlags_RowBg; }
if (BeginTable(TableId, 2, TableFlags)) {
TableSetupColumn("Setting");
TableSetupColumn("Value");
return true;
}
return false;
}
inline void EndPropertyTable2() { EndTable(); FCogWidgets::PopStyleCompact(); }
```