Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 02.02.2009
Сообщений: 8
1

Создаю модальное окно, в компонент NextGrid пытаюсь добавить столбцы и не добавляет.

02.02.2009, 12:00. Показов 3692. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!
Создаю модальное окно, в компонент NextGrid пытаюсь добавить столбцы и не добавляет.
Использую такой код:
Delphi
1
TNextGrid(Form1.FindComponent('NextGrid1')).Columns.Add(TNxIncrementColumn, '#');
если так то работает
Delphi
1
NextGrid1.Columns.Add(TNxIncrementColumn, '#');
Вызываю окно обычно Show все работает нормально (добавляет).
Подскажите пожалуйста как это исправить???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2009, 12:00
Ответы с готовыми решениями:

Не могу добавить модальное окно
На кнопки заказать не могу добавить выплывающие модальные окна. Плагин скрывает весь код. Что...

Добавить данные через модальное окно
Добрый день. У меня есть таблица которая выводится из бд, есть функция добавления данных через...

В IE 6.0 через window.open создаю новое окно с параметром resizeable=yes, но создаваемое окно упорно не позволяет менять размер.
В IE 6.0 через window.open создаю новое окно с параметром resizeable=yes, но создаваемое окно...

Нужно закрыть модальное окно и сделать активным вызвавшее его окно
Мне нада средствами Win API закрыть модальное окно и сделать активным вызвавшее его окно. Кто знает...

10
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
02.02.2009, 12:06 2
Кусок кода в студию, от начала вызова окна, до добавления столбцов (включительно)
0
Супер-модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.02.2009, 12:07 3
покажи как ты добавляешь? у меня есть подозрение, что из окна, в котором вызываешь модально другое окно... тогда работать и не будет, потому что модальное окно забирает себе управление и пока его не закроешь, код родительского окна выполняться не будет... потрассируй свой код и увидишь, что не работает...
0
0 / 0 / 0
Регистрация: 02.02.2009
Сообщений: 8
02.02.2009, 12:21  [ТС] 4
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Getvalue(TForm2);
 
function TForm1.Getvalue(TFormC: TFormClass): String;
var KeyForm: TForm;
 
begin
  KeyForm := TFormC.Create(Application);
  KeyForm.BorderStyle := bsSizeable;
  KeyForm.WindowState := wsNormal;
  KeyForm.Position := poMainFormCenter;
  try
    with KeyForm do begin
      if ShowModal = mrOk then begin
      end;
    end;
  finally
    KeyForm.Free;
  end;
 
end;
 
 
procedure TForm2.Button1Click(Sender: TObject);
begin
  TNextGrid(TForm2.FindComponent('NextGrid1')).Columns.Clear;
  TNextGrid(TForm2.FindComponent('NextGrid1')).Columns.Add(TNxIncrementColumn, '#');
  TNextGrid(TForm2.FindComponent('NextGrid1')).AddRow(5);
end;
0
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
02.02.2009, 12:26 5
Всё потому, что кнопка возвращает результат, при этом не работает само тело обработки щелчка, поменяйте код:
Delphi
1
2
3
4
5
      if ShowModal = mrOk then begin   
  TNextGrid(KeyForm.FindComponent('NextGrid1')).Colum  ns.Clear;   
  TNextGrid(KeyForm.FindComponent('NextGrid1')).Colum  ns.Add(TNxIncrementColumn, '#');   
  TNextGrid(KeyForm.FindComponent('NextGrid1')).AddRo  w(5); 
      end;
0
0 / 0 / 0
Регистрация: 02.02.2009
Сообщений: 8
02.02.2009, 12:34  [ТС] 6
У меня:

Delphi
1
Button3.ModalResult := mrOk
Delphi
1
Button1.ModalResult := mrNone
А если так то работает

Delphi
1
2
3
4
5
6
procedure TForm2.Button1Click(Sender: TObject);
begin
NextGrid1.Columns.Clear;
NextGrid1.Columns.Add(TNxIncrementColumn, '#');
NextGrid1.AddRow(5);
end;
0
Супер-модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.02.2009, 12:47 7
Shrekus, а ты проверял, что у тебя возвращает поиск по компоненту, ведь видно, что по какой-то причине он не находит... попробуй просто FindComponent, тогда по идее он будет вызываться в объекте существующем класса TForm2...
TNextGrid(FindComponent('NextGrid1'))...
0
0 / 0 / 0
Регистрация: 02.02.2009
Сообщений: 8
02.02.2009, 12:59  [ТС] 8
Delphi
1
ShowMessage(IntToStr(TNextGrid(Form2.FindComponent('NextGrid1')).Columns.Count ) + ' - ' + IntToStr(TNextGrid(Form2.FindComponent('NextGrid1')).RowCount) );
Показывает 1 столбец и 5 строк (правильно). Как будто добавляет но не показывает.
0
Супер-модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.02.2009, 13:24 9
а зачем такие трудности тебе, что при вызове окна, и вот в этом коде? какова мотивация? а для решение проблемы попробуй окно обновить, может перерисуется твой компонент
0
0 / 0 / 0
Регистрация: 02.02.2009
Сообщений: 8
02.02.2009, 14:05  [ТС] 10
Первоначально клиент работает с этим окном (добавляет/редактирует/удаляет информацию, вся информация в MySQL) внося параметры для будущей работы. Окно вызываю с помощью Show. NextGrid отображает информацию. Потом клиент должен выбрать этот параметр с другого окна для дальнейшой работы, для этого использую ShowModal и функцией передаю нужные параметры. Да можно сделать список по новому, но должна быть возможность редактирования и добавление параметров если есть такая потребность.

Добавлено через 19 минут 56 секунд
Есть ответ!

При использование ShowModal создается окно с названием Form2_1 (добавляет '_1') а я обращался к Form2 .

Спасибо всем!
0
Супер-модератор
8784 / 2537 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
02.02.2009, 14:05 11
да я не про идею, а про конструкции, которые ты в реализации используешь... вот например, почему нельзя обратиться к гриду напрямую, а через поиск... тоже самое про создание окна, что-то уж больно хитро ты его вызываешь...
0
02.02.2009, 14:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2009, 14:05
Помогаю со студенческими работами здесь

Создать модальное окно (дочернее окно) как в одноклассниках
Здраствуйте всем, Нужна помощь. Я хочу создать модальное окно (дочерное окно) в ASP.NET на примере...

Модальное окно, сделать загрузку в окно по ссылке
Привет всем нашел в интернете скрипт модального окна. Очень он мне подходит но есть одно но я хочу...

Как создать окно в окне (модальное окно)?
Подскажите новичку, как создать на сайте в родительском окне небольшое окошко поверх него для ввода...

Не добавляет столбцы
при добавление обычной таблицы все работает. но как только я вставлю туда django код он не хочет...

MessageBox: Как сделать так, чтобы если окно модальное, при клике на родительское окно MessageBox мигал?
Здравия всем! Никак не найду нужный MB_*, как можно сделать так, чтобы если сделать MessageBox...

Создаю окно CWnd дочернее к диалогу, проблема с NWHD
MyWnd = new CWnd срабатывает; MyWnd->Create(...) Срабатывает; MyWnd->ShowWindow(...) Застревает....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru