Topic: [Скрипт] Множественный выбор в TableGrid для удаления

Множественный выбор в TableGrid (с нажатым Ctrl) для удалением



Скрипт:

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
   i,c: integer;
   iColumn: integer;
begin
     iColumn := Form1.GridEmployees.Columns.Count-1; // in last column stored id of record (last column hided)

     c := Form1.GridEmployees.RowCount - 1; // count of records in TableGrid
     for i :=0 to c do
         if Form1.GridEmployees.Selected[i] then // if record selected
            SQLExecute('DELETE FROM employees WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]); // SQL query for selected record

     Form1.GridEmployees.dbUpdate;
end;

begin
     Form1.GridEmployees.Options := Form1.GridEmployees.Options + goMultiSelect;
end.

Пример проекта:

Post's attachments

Attachment icon MultiSelect and MultiDelete.zip 6.06 kb, 1577 downloads since 2015-02-23 

Dmitry.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Скажите, Дмитрий, а как либо отредактировать этот скрипт возможно, чтобы кнопка срабатывала не на удаление, а на сохранение записей?

Re: [Скрипт] Множественный выбор в TableGrid для удаления

К сожалению нет.

Dmitry.

4 (edited by v-makarovmail 2016-05-30 16:29:08)

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Добрый день, Дмитрий.
В версии 1.44, выдаёт ошибку.
Скрин прилагаю.

Post's attachments

Attachment icon 121.jpg 14.53 kb, 427 downloads since 2016-05-30 

Re: [Скрипт] Множественный выбор в TableGrid для удаления

v-makarovmail wrote:

Добрый день, Дмитрий.
В версии 1.44, выдаёт ошибку.
Скрин прилагаю.

К сожалению в данной версии скрипт работать не будет, т.к. не реализованы некоторые свойства компонентов.

Dmitry.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Спасибо за ответ.
Дмитрий, а других способов нет, для выбора нескольких строк и удаления?
Ато действительно не удобно удалять по одной, в случае 100 строчек в гриде.

DriveSoft wrote:
v-makarovmail wrote:

Добрый день, Дмитрий.
В версии 1.44, выдаёт ошибку.
Скрин прилагаю.

К сожалению в данной версии скрипт работать не будет, т.к. не реализованы некоторые свойства компонентов.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

v-makarovmail
Сделал для вас пример, кликая по ячейке в колонке "Select" вы можете выбрать записи для удаления.

Post's attachments

Attachment icon MultiSelect and MultiDelete using color cell 1.44.zip 7.02 kb, 904 downloads since 2016-06-01 

Dmitry.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Спасибо большое. Применил для своего проекта.

DriveSoft wrote:

v-makarovmail
Сделал для вас пример, кликая по ячейке в колонке "Select" вы можете выбрать записи для удаления.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

А как сделать множественный выбор, после которого выбранные строки передавались в отчет?

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Bullet3203 wrote:

А как сделать множественный выбор, после которого выбранные строки передавались в отчет?

В последних версиях программы это уже реализовано, для кнопки с действием "Отчет"

Dmitry.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

DriveSoft wrote:
Bullet3203 wrote:

А как сделать множественный выбор, после которого выбранные строки передавались в отчет?

В последних версиях программы это уже реализовано, для кнопки с действием "Отчет"

Отчет (SQL)?

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Для кнопки с действием "Отчет (SQL)", можете найти пример здесь
http://myvisualdatabase.com/forum/viewtopic.php?id=1367

Dmitry.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

DriveSoft wrote:

v-makarovmail
Сделал для вас пример, кликая по ячейке в колонке "Select" вы можете выбрать записи для удаления.

Здравствуйте Дмитрий.
Нашёл то что мне нужно, скачал а там пусто, скрипта нет. Пишет что путь не найден. У меня версия 6.5, вы писали для 1.44, может из за этого. Если можно обновите пожалуйста.
Спасибо.

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Exnout wrote:
DriveSoft wrote:

v-makarovmail
Сделал для вас пример, кликая по ячейке в колонке "Select" вы можете выбрать записи для удаления.

Здравствуйте Дмитрий.
Нашёл то что мне нужно, скачал а там пусто, скрипта нет. Пишет что путь не найден. У меня версия 6.5, вы писали для 1.44, может из за этого. Если можно обновите пожалуйста.
Спасибо.

все там есть, вот содержимое

procedure Form1_GridEmployees_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
    if ACol=3 then
        if Form1.GridEmployees.Cell[3, ARow].Color = clWindow then Form1.GridEmployees.Cell[3, ARow].Color := clRed
        else Form1.GridEmployees.Cell[3, ARow].Color := clWindow;
end;

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
   i,c: integer;
   iColumn: integer;
begin
     iColumn := Form1.GridEmployees.Columns.Count-1; // in last column stored id of record (last column hided)

     c := Form1.GridEmployees.RowCount - 1; // count of records in TableGrid
     for i :=0 to c do
         if Form1.GridEmployees.Cell[3, i].Color = clRed then // if record selected
            SQLExecute('DELETE FROM employees WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]); // SQL query for selected record

     Form1.GridEmployees.dbUpdate;
end;

begin
     Form1.GridEmployees.Options := Form1.GridEmployees.Options + goMultiSelect;
end.

15 (edited by Exnout 2021-02-23 17:56:18)

Re: [Скрипт] Множественный выбор в TableGrid для удаления

Спасибо

pt.82 wrote:
Exnout wrote:
DriveSoft wrote:

v-makarovmail
Сделал для вас пример, кликая по ячейке в колонке "Select" вы можете выбрать записи для удаления.

Здравствуйте Дмитрий.
Нашёл то что мне нужно, скачал а там пусто, скрипта нет. Пишет что путь не найден. У меня версия 6.5, вы писали для 1.44, может из за этого. Если можно обновите пожалуйста.
Спасибо.

все там есть, вот содержимое

procedure Form1_GridEmployees_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
    if ACol=3 then
        if Form1.GridEmployees.Cell[3, ARow].Color = clWindow then Form1.GridEmployees.Cell[3, ARow].Color := clRed
        else Form1.GridEmployees.Cell[3, ARow].Color := clWindow;
end;

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
   i,c: integer;
   iColumn: integer;
begin
     iColumn := Form1.GridEmployees.Columns.Count-1; // in last column stored id of record (last column hided)

     c := Form1.GridEmployees.RowCount - 1; // count of records in TableGrid
     for i :=0 to c do
         if Form1.GridEmployees.Cell[3, i].Color = clRed then // if record selected
            SQLExecute('DELETE FROM employees WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]); // SQL query for selected record

     Form1.GridEmployees.dbUpdate;
end;

begin
     Form1.GridEmployees.Options := Form1.GridEmployees.Options + goMultiSelect;
end.

16

Re: [Скрипт] Множественный выбор в TableGrid для удаления

В данном примере не хватает запроса на удаление.