Topic: Как программно открыть TreeView и выделить нужный узел
Как программно открыть TreeView и выделить нужный узел по его id из таблицы базы данных?
My Visual Database → Russian → Как программно открыть TreeView и выделить нужный узел
Как программно открыть TreeView и выделить нужный узел по его id из таблицы базы данных?
Получить номер строки по ID:
function GetRowByID( ATable:TObject; AID: integer ):integer;
// Получить по ID элемента дерева находит номер строки; работает для таблицы и дерева, так как дерево является наследником таблицы
var
i :integer;
tmpTable: TdbStringGridEx;
begin
tmpTable := TdbStringGridEx(ATable);
Result := -1;
for i := 0 to tmpTable.RowCount-1 do
begin
if tmpTable.dbIndexToID(i) = AID then
begin
result := i;
break;
end;
end
end;
Раскрыть дерево в нужном узле:
Form1.TreeView1.Expanded[Index] := True;
Выдает ошибку: tmpTable: TStringGridEx; - неизвестный тип.
Выдает ошибку: tmpTable: TStringGridEx; - неизвестный тип.
Извините, нужно использовать класс - TdbStringGridEx. Исправил.
Здравствуйте. Спаси бо за ответ. А как мне еще и подсветить выбрав эту строку в дереве, что бы сработала ф-ия нажатия?
Чтобы выбрать (подсветить) строку используйте свойство SelectedRow
Form1.TreeView1.SelectedRow := tmpRow;
Функции (метода) нажатия у дерева нет. Есть события на действия мыши и клавиатуры. Если у вас есть обработчики этих событий, вы можете вызывать их как обычные процедуры.
Спасибо. Ваша ф-ия и со связанным Grid работает отлично!!!
Row_coin:=GetRowByID( Form2.TableGrid1,Form1.TableGrid1.dbItemID );
Form2.TableGrid1.SelectedRow := Row_coin;
Form2_TableGrid1_OnClick ( Form2.TableGrid1 );
My Visual Database → Russian → Как программно открыть TreeView и выделить нужный узел
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi