Topic: Отоброжение данных в Tablegrid

Ув. Дмитрий. имеется 2 базы данных. Структура выглядит так:
                 hamagi                                                  status
      lastname      текст                                     status         текст
      firstname      текст
      id_status      [status]

Теперь на форме имеется PageControl, который состоит из 3 страниц и в каждом из них Tablegrid1, 2 и 3 соответственно.

Вот пример

         Имя                       Фамилия                               Статус
       Иван                        Иванов                                        да
       Петр                        Петров                                         нет
      Сергей                     Валиев                                        нет

Надо чтобы при нажатии на TabSheet1 (она называется ДА) в Tablegrid1 показались записи из status.

        Имя                       Фамилия                               Статус
       Иван                        Иванов                                        да
       
Надо чтобы при нажатии на TabSheet2 (она называется НЕТ) в Tablegrid2 показались записи из status.
     
        Имя                       Фамилия                               Статус
       Петр                        Петров                                         нет
      Сергей                     Валиев                                        нет

Re: Отоброжение данных в Tablegrid

В настройках компонента TableGrid есть настройка "3. Фильтр (необязательно)"
где вы можете указать условие фильтрации записей, в вашем случае необходимо в одном из гридов написать

id_status=1

а в другом

id_status=2

1 и 2 это идентификаторы записи Да и Нет в таблице status, какому значению принадлежит конкретный идентификатор вы должны узнать самостоятельно в таблице status (поле id)

Dmitry.

Re: Отоброжение данных в Tablegrid

ок. спс. возник другой вопрос. в той же базе данных есть еще одно поле ДА/НЕТ.

           hamagi                                                  status
      lastname      текст                                     status         текст
      firstname      текст
      id_status      [status]
      otpusk          ДА/НЕТ

Надо чтобы при нажатии на TabSheet3 (она называется В отпуску) в Tablegrid3 показались записи которые в отпуску.

Re: Отоброжение данных в Tablegrid

в свойстве фильтр пропишите:

otpusk=1
Dmitry.

Re: Отоброжение данных в Tablegrid

спс получилось

Еще вопрос. На форме1 есть
1. PageControl с 4-мя страницами, в каждой имеется TableGrid1, 2, 3, 4 соответственно
2. кнопка которая редактирует записи с Tablegrid1

Когда я нахожусь на странице 2, 3 или 4 то я не могу редактировать данные из TableGrid1, 2 и 3 соответственно. Как это сделать?

Re: Отоброжение данных в Tablegrid

проще всего будет разместить на каждой вкладке свою кнопку для редактирования.

Dmitry.

Re: Отоброжение данных в Tablegrid

ясно, я сделал чуть по другому, в итоге получилось

procedure Form1_PageControl1_OnChange (Sender: string);
begin
If Form1.PageControl1.ActivePageIndex = 0 then
begin
Form1.Edit.Visible:= True;
Form1.Search.Visible:= True;
Form1.Button6.Visible:= False;
Form1.Button7.Visible:= False;
Form1.Button8.Visible:= False;
Form1.Search2.Visible:= False;
Form1.Search3.Visible:= False;
Form1.Search4.Visible:= False;
end;
If Form1.PageControl1.ActivePageIndex = 1 then
begin
Form1.Button6.Visible:= True;
Form1.Search2.Visible:= True;
Form1.Edit.Visible:= False;
Form1.Button7.Visible:= False;
Form1.Button8.Visible:= False;
Form1.Search.Visible:= False;
Form1.Search3.Visible:= False;
Form1.Search4.Visible:= False;
end;
If Form1.PageControl1.ActivePageIndex = 2 then
begin
Form1.Button7.Visible:= True;
Form1.Search3.Visible:= True;
Form1.Edit.Visible:= False;
Form1.Button6.Visible:= False;
Form1.Button8.Visible:= False;
Form1.Search.Visible:= False;
Form1.Search2.Visible:= False;
Form1.Search4.Visible:= False;
end;
if Form1.PageControl1.ActivePageIndex = 3 then
begin
Form1.Button8.Visible:= True;
Form1.Search4.Visible:= True;
Form1.Edit.Visible:= False;
Form1.Button6.Visible:= False;
Form1.Button7.Visible:= False;
Form1.Search.Visible:= False;
Form1.Search2.Visible:= False;
Form1.Search3.Visible:= False;
end;
end;

8 (edited by pha1984 2015-11-21 07:46:46)

Re: Отоброжение данных в Tablegrid

1. В проекте есть Меню (О программе)
procedure Form1_OnShow (Sender: string; Action: string);
var
MyItem1: TMenuItem;
MenuForm2: TMainMenu;
begin
   MyItem1 := TMenuItem.Create (Form1);
   MyItem1.Caption := 'О программе';
   MyItem1.OnClick := @MenuClick1;
   MenuForm2 := TMainMenu.Create(Form1);  // Create MainMenu on Form1
   MenuForm2.Items.Add(MyItem1);         // you can use ADD or INSERT
end;

При нажатии на О программе выходит Panel1.
procedure MenuClick1 (Sender: string);
begin
        Form1.Panel1.Visible:= True;
end;

Надо чтобы при показе Panel1 пункт О программе не работал. Как это сделать?

2. На форме есть TableGrid1. Там показываются все данные (около 10 столбцов). Также на форме имеется 10 CheckBox (они совпадают с 10 столбцами Tablegrid1) и кнопка отчет, который выдает данные из TableGrid1 в Excel.
Надо чтобы при отметке нужного количества мне Checkbox на Excel показало именно эти данные. Как это реализовать?

Re: Отоброжение данных в Tablegrid

1. можно так

procedure MenuClick1 (Sender: string);
begin
        if Form1.Panel1.Visible then exit; // если панель видима,тогда выходим из процедуры
        Form1.Panel1.Visible:= True;
end;

2. К сожалению не знаю как это сделать, так как в файл отчета может иметь только фиксированное количество столбцов.

Dmitry.

Re: Отоброжение данных в Tablegrid

СПС за первый вопрос.
На счет второго вопроса у меня в таблице показывается вся информация, а в отчет надо чтобы я сам смог определить что передать в екзель а что нет, может скриптами или SQL запросами можно решить?

Re: Отоброжение данных в Tablegrid

Ув. Дмитрий. На счет последнего вопроса никакой возможности нет?

Re: Отоброжение данных в Tablegrid

я уже ответил:

2. К сожалению не знаю как это сделать, так как в файл отчета может иметь только фиксированное количество столбцов.

Dmitry.