Firemonkey: использование TGrid в Embarcadero C ++ Builder XE3

m попробуйте создать инструмент, который считывает данные из базы данных и отображает их в виде таблицы, используя TGrid в Firemonkey. Мне нужно использовать разные типы столбцов, такие как TCheckColumn и TPopupColumn, но я могуНе найти хорошего руководства или примера, как использовать их в C ++ Builder.

В любом случае мне удалось понять использование TStringColumn, TProgressColumn, устанавливающего значение ячейки в TGrid 's событие onGetValue.

Кто-нибудь из вас знает, как установить значение для столбцов типа TCheckColumn, TImageColumn и TPopupColumn?

спасибо Даниэле

---ОБНОВИТЬ---

Мне удалось использовать TProgressColumn. Это то, что я делаю в формеS конструктор:

// TStringColumn
Grid1->AddObject(new TStringColumn(this));
// TCheckColumn
TCheckColumn* c = new TCheckColumn(this);
Grid1->AddObject(c);
// TPopupColumn
// list of values
TStringList * l = new TStringList(NULL);
l->Add(L"First");
l->Add(L"Second");
l->Add(L"Third");
TPopupColumn* p = new TPopupColumn(this);
// adding the list to the PopupColumn
p->Items = l;
Grid1->AddObject(p);
// TProgressColumn
Grid1->AddObject(new TProgressColumn (this));
Grid1->RowCount = 3 ;

и это метод Grid1GetValue:

// TStringColumn
if(Col == 0) Value = TValue::From(Row);
// TCheckColumn  !! Can't make it work
if(Col == 1) Value = TValue::From(true);
// TPopupColumn
if(Col == 2)    Value = TValue::From(2);
// TProgressColumn
if(Col == 3)    Value = TValue::From(50.0);

---ОБНОВИТЬ---

если я сохраню значение столбца с помощью метода OnSetValue

void __fastcall TForm1::Grid1SetValue(...)
{
if(Col == 1) check = Value;
}

и затем установите его с помощью метода OnGetValue:

void __fastcall TForm1::Grid1GetValue(...)
{
// TCheckColumn  !! Can't make it work
if(Col == 1) Value = check;// TValue::From(true);
}

После того, как я нажимаю один флажок, все остальные флажки меняют состояние. Таким образом, компонент работает правильно ... теперь дело в том, как правильно установить Значение в true или false.

Ответы на вопрос(3)

Ваш ответ на вопрос