Re: Комбобокс и не только

Ув. Дмитрий. Посмотрите на мой проект пожалуйста.

Re: Комбобокс и не только

pha1984 wrote:

В форме NovayaForma имеется 3 комбобокса - область, район и насел. пункт. Они связаны между собой.
1. При NovayaForma_OnShow надо чтобы в комбо Область была id=3 т.е. Хатлонская область, в комбо Район соответственно НЕ УКАЗАНО и в комбо Насел. пункт соответственно НЕ УКАЗАНО.
2. Поправьте связи между таблицей Osnova и Oblast, чтобы каждая запись из таблицы Osnova имела связь с тремя другими таблицами. Т.е. регистрирую пациента в больнице и он принадлежит к определенной области, определенного района который связан с областью, и определенным насел. пунктом, связанным с районом. Надеюсь смог объяснить.

Поправил, думаю вам необходимо чтобы Хатлонская область  была выбрана по умолчанию только для новых записей, иначе это будет изменять и существующие записи.

Post's attachments

Attachment icon Статформ_04.07_fixed.zip 306.56 kb, 441 downloads since 2015-07-13 

Dmitry.

Re: Комбобокс и не только

спс, то что надо, хотя я не очень понял суть скрипта

procedure NovayaForma_OnShow (Sender: string; Action: string);
begin
if Action='NewRecord' then
    begin
        NovayaForma.cbOblast.DoOnChange;
        NovayaForma.cbRayon.ItemIndex := 0;
        NovayaForma.cbRayon.DoOnChange;
        NovayaForma.cbNasel_punkt.ItemIndex := 0;
    end;

if NovayaForma.cbNasel_punkt.dbItemID=-1 then
    begin
        NovayaForma.cbRayon.dbItemID :=-1;
        NovayaForma.cbOblast.dbItemID :=-1; 
    end;
end;

29 (edited by pha1984 2015-07-14 06:55:36)

Re: Комбобокс и не только

Ув. Дмитрий, почему когда я открываю проект и хочу ввести данные то возникают тормоза. Например на форме NovayaForma при вводе записи в поле Имя, Фамилия, Отчество буквы пишутся очень медленно. В чем проблема? Проект можете скачать с 2 поста выше текушего.

Re: Комбобокс и не только

pha1984 wrote:

Ув. Дмитрий, почему когда я открываю проект и хочу ввести данные то возникают тормоза. Например на форме NovayaForma при вводе записи в поле Имя, Фамилия, Отчество буквы пишутся очень медленно. В чем проблема? Проект можете скачать с 2 поста выше текушего.

об этом я уже вам говорил ранее, у вас с каждым нажатием кнопки происходит обновление гридов, что бессмысленно

procedure NovayaForma_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
......
Dmitry.

Re: Комбобокс и не только

1. теперь я понял о чем вы имели ввиду, я убрал все гриды которые обновляются и поместил каждый в отдельный скрипт, только тут уже на событие OnShow прописал, заработало. Проект работает быстрее. Спс.
2. Ув. Дмитрий. Надо сделать так чтобы при показе формы не нужно было ставить на грид лимит, т.е. если в списке более чем 5000 записей то при открытии формы тормозит на 4-5 секунд, и это зависит от количества записей в базе. Сейчас я управляюсь этим
frmDiagnose.TableGrid4.dbLimit := 500;
но это не решение вопроса. Я делаю проект, который уже сделан на FoxPro и там нет таких косяков. Ув. Дмитрий, по моему это основная проблема базы данных.

Re: Комбобокс и не только

pha1984
2. Действительно ли есть практический смысл показывать в гриде все 5000 записей?
FoxPro скорей всего подгружает новые данные в грид по мере скролла.

Dmitry.

Re: Комбобокс и не только

а можно ли такое сделать подгрузку данных по мере скролла в MVD?

Re: Комбобокс и не только

Увы пока нет.

Dmitry.

Re: Комбобокс и не только

может быть каким либо скриптом? На пример скрол работает только тогда если мышка находится на гриде, т.е. можно написать какой то скрипт типа этого

Form1_TableGrid1_OnEnter
begin
Form1.TableGrid1.dbLimit:= 1000;
Form1.TableGrid1.dbUpdate;
end;

Form1_TableGrid1_OnKeyPress
begin
Form1_TableGrid1_OnEnter ('')
end;

Re: Комбобокс и не только

К сожалению скриптом это не реализовать.

Dmitry.