![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте ребята. Задача такой . ест Form1, Form2 на пример, на второе форму выводит результаты поиска
Пользователь хочет что на (второе форму где выводит результаты поиска ) был кнопка где он будет отметит какой столбик отображалось и какой скрывать из первое форму делаю запрос выводит результат Код:
procedure TMainForm.cxButton1Click(Sender: TObject);
begin
Module.PoiskQuery.Close;
Module.PoiskQuery.SQL.Clear;
Module.PoiskQuery.SQL.Add('SELECT employee_id, first_name, last_name, email, phone_number, hire_date,'+
'job_id, salary, commission_pct,manager_id, department_id '+
'FROM hr.employees');
Module.PoiskQuery.SQL.Add('WHERE first_name LIKE '''+cxTextEdit1.Text+'''');
Module.PoiskQuery.Open;
Poisk.ShowModal;
end;Проблема за это ! как реализовать это ! что он мог (скрывать и отображать колонки) по своего желанию ? |
|
#2
|
||||
|
||||
|
Добавить на форму CheckListBox1
В него загрузить список колонок. Код:
PoiskQuery.GetFieldNames(CheckListBox1.Items); Обработать циклом Код:
for i := 0 to CheckListBox1.Count - 1 do
begin
//код для отображения \ скрытия
end; |
| Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
xxbesoxx (27.03.2013)
| ||
|
#3
|
|||
|
|||
|
Цитата:
Я честно говорю голову взрывается, цели день на это зависаю. пожалуйста по человечески покажите на это проекту как |
|
#4
|
||||
|
||||
|
Дружище, извини я не работаю с АДО. И баз нету.
Значит смотри -DBGrid2, это таблица с твоей второй формы. -MyQuery2, это "запрос" где ты делаешь поиск. - первая процедура - это кнопка твоего поиска. - вторая процедура это кнопка на второй форме для отображения колонок. MyQuery2 = PoiskQuery (в твоём случае) Код:
procedure TForm1.but_searchClick(Sender: TObject);
begin
MyQuery2.SQL.Clear;
MyQuery2.SQL.Add('Select * from `emp` where `comm` > 1');
MyQuery2.Execute;
MyQuery2.GetFieldNames(CheckListBox1.Items);
end;
procedure TForm1.but_checkClick(Sender: TObject);
var
i: integer;
begin
for i := 0 to CheckListBox1.Count - 1 do
DBGrid2.Columns[i].Visible := CheckListBox1.Checked[i];
end;Поправил вторую процедуру. В цикле не так чутка. Последний раз редактировалось Uniq!, 27.03.2013 в 22:07. |
| Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
xxbesoxx (27.03.2013)
| ||
|
#5
|
|||
|
|||
|
Цитата:
так выйдет CheckListBox1 , щас попробую скрыть и отображать . Вам спасибо за помочь . время мало и за это спишу Код:
procedure TMainForm.cxButton1Click(Sender: TObject);
begin
Module.PoiskQuery.Close;
Module.PoiskQuery.SQL.Clear;
Module.PoiskQuery.SQL.Add('SELECT employee_id, first_name, last_name, email, phone_number, hire_date,'+
'job_id, salary, commission_pct,manager_id, department_id '+
'FROM hr.employees');
Module.PoiskQuery.SQL.Add('WHERE first_name LIKE '''+cxTextEdit1.Text+'''');
Module.PoiskQuery.Open;
Module.PoiskQuery.GetFieldNames(Poisk.CheckListBox1.Items);
Poisk.ShowModal;
end; |
|
#6
|
|||
|
|||
|
Цитата:
да показывает дружище , ну настроить не магу . Извиняюсь второе код ваши работает вы проверили * |
|
#7
|
|||
|
|||
|
Друг получилось но сейчас голова болит как это сохранить в ini файл
Код:
procedure TSetingForm.BitBtn1Click(Sender: TObject); var i: integer; begin i:=0; for i:=0 to CheckListBox1.Count - 1 do poisk.DBGridEh1.Columns[i].Visible := CheckListBox1.Checked[i]; end; |
|
#8
|
|||
|
|||
|
Как указать что все это настройки сохранился ini файле ?
Цитата:
|
|
#9
|
||||
|
||||
|
Код:
procedure TSetingForm.BitBtn1Click(Sender: TObject);
var
i: integer;
begin
i:=0;
for i:=0 to CheckListBox1.Count - 1 do
begin
poisk.DBGridEh1.Columns[i].Visible := CheckListBox1.Checked[i];
ini.WriteString('Poisk',CheckListBox1.Items[i],CheckListBox1.Checked[i]);
end;
end; |
| Этот пользователь сказал Спасибо Uniq! за это полезное сообщение: | ||
xxbesoxx (28.03.2013)
| ||
|
#10
|
|||
|
|||
|
Спасибо сделал получилось
|