Topic: Несколько вопросов2

Уважаемый Дмитрий.
Объясните и дайте примеры использования следующих свойств компонентов пожалуйста:
1. Form1.TableGrid1.dbFilter
2. Form1.TableGrid1.sqlValue
3. Form1.TableGrid1.dbSQL
4. Form1.TableGrid1.dbGeneralTable
5. Form1.TableGrid1.dbListFieldsNames
6. Form1.TableGrid1.dbSQLExecute
7. Form1.TableGrid1.dbGetSqlStatement
8. Form1.TableGrid1.GetRowAtPos()
9. Form1.TableGrid1.AddRow()
10. Form1.TableGrid1.DeleteRow()
Заранее спасибо

Re: Несколько вопросов2

1.
В настройках грида есть поле "3. Фильтр", который вы можете изменить с помощью скрипта, используя свойство dbFilter, также чтобы применить этот фильтр, грид необходимо обновить, пример:

Form1.TableGrid1.dbFilter := 'active=1';
Form1.TableGrid1.dbUpdate;

2. Это свойство удобно использовать в SQL запросах, эти две строки аналогичны

SQLExecute('SELECT lastname FROM tablename WHERE id='+IntToStr(Form1.TableGrid1.dbItemID) );
SQLExecute('SELECT lastname FROM tablename WHERE id='+Form1.TableGrid1.sqlValue );

свойство sqlValue позволяет избежать использование функции IntToStr



3.  Если грид был заполнен кнопкой с действием "SQL запрос", то с помощью свойства dbSQL вы можете получить данный SQL запрос используя скрипт.



4. Содержит название главной таблицы БД, это тоже самое, что в настройках грида "1. Выберите таблицу базы данных для запроса"


5. Содержит строку с названием колонок в гриде, разделенных запятой.


Пример использования для пунктов 3-6

procedure Form1_bScript_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.GridEmployees.dbSQL:='SELECT id, "$autoinc", lastname, firstname, salary FROM employees'; // the id field, want to be able to edit or delete the entry from the table component
    Form1.GridEmployees.dbGeneralTable := 'employees'; // Optional (in the case of complex SQL queries with sub queries, you need to choose the main table of the database, also it need to be able to edit or delete the entry from the table component)
    Form1.GridEmployees.dbListFieldsNames :='delete_col,#,name2,name3,name4'; // If you do not want to see the value of the id in the component table, enter a name for the column delete_col
    Form1.GridEmployees.dbSQLExecute;
end;

Т.е. вы можете заполнить грид данными используя скрипт, а не настройки грида.



7. Позволяет получить SQL запрос, который использовался при заполнении грида. (в текущей версии работает только если грид заполнили кнопкой "Поиск", в след. версии будет работать для всех случаев.)


8. По координатам X и Y грида можно получить порядковый номер записи.


9-10. Позволяет добавить или удалить строки в гриде, были реализованы для данного примера:

Post's attachments

Attachment icon Grid like Excel.zip 3.46 kb, 411 downloads since 2016-12-23 

Dmitry.

Re: Несколько вопросов2

огромное спасибо, примеры отличные.
3. На счет 3-го вопроса я так понял, что в свойствах кнопки Action можно оставить пустым, а в скриптах писать ваш пример для пунктов 3-6. Ведь так?
7. На счет 7-го вопроса не понятно в чем разница между 7 и 3.

Re: Несколько вопросов2

bemorhona-qt wrote:

огромное спасибо, примеры отличные.
3. На счет 3-го вопроса я так понял, что в свойствах кнопки Action можно оставить пустым, а в скриптах писать ваш пример для пунктов 3-6. Ведь так?
7. На счет 7-го вопроса не понятно в чем разница между 7 и 3.

3. Да, указывать действие для кнопки не нужно.


7.  в п.3 свойство возвращает SQL запрос, если грид был заполнен кнопкой с действием "SQL запрос".

Dmitry.