Re: Комбобокс и не только
Ув. Дмитрий. Посмотрите на мой проект пожалуйста.
My Visual Database → Russian → Комбобокс и не только
Ув. Дмитрий. Посмотрите на мой проект пожалуйста.
В форме NovayaForma имеется 3 комбобокса - область, район и насел. пункт. Они связаны между собой.
1. При NovayaForma_OnShow надо чтобы в комбо Область была id=3 т.е. Хатлонская область, в комбо Район соответственно НЕ УКАЗАНО и в комбо Насел. пункт соответственно НЕ УКАЗАНО.
2. Поправьте связи между таблицей Osnova и Oblast, чтобы каждая запись из таблицы Osnova имела связь с тремя другими таблицами. Т.е. регистрирую пациента в больнице и он принадлежит к определенной области, определенного района который связан с областью, и определенным насел. пунктом, связанным с районом. Надеюсь смог объяснить.
Поправил, думаю вам необходимо чтобы Хатлонская область была выбрана по умолчанию только для новых записей, иначе это будет изменять и существующие записи.
спс, то что надо, хотя я не очень понял суть скрипта
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;
Ув. Дмитрий, почему когда я открываю проект и хочу ввести данные то возникают тормоза. Например на форме NovayaForma при вводе записи в поле Имя, Фамилия, Отчество буквы пишутся очень медленно. В чем проблема? Проект можете скачать с 2 поста выше текушего.
Ув. Дмитрий, почему когда я открываю проект и хочу ввести данные то возникают тормоза. Например на форме NovayaForma при вводе записи в поле Имя, Фамилия, Отчество буквы пишутся очень медленно. В чем проблема? Проект можете скачать с 2 поста выше текушего.
об этом я уже вам говорил ранее, у вас с каждым нажатием кнопки происходит обновление гридов, что бессмысленно
procedure NovayaForma_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
......
1. теперь я понял о чем вы имели ввиду, я убрал все гриды которые обновляются и поместил каждый в отдельный скрипт, только тут уже на событие OnShow прописал, заработало. Проект работает быстрее. Спс.
2. Ув. Дмитрий. Надо сделать так чтобы при показе формы не нужно было ставить на грид лимит, т.е. если в списке более чем 5000 записей то при открытии формы тормозит на 4-5 секунд, и это зависит от количества записей в базе. Сейчас я управляюсь этим
frmDiagnose.TableGrid4.dbLimit := 500;
но это не решение вопроса. Я делаю проект, который уже сделан на FoxPro и там нет таких косяков. Ув. Дмитрий, по моему это основная проблема базы данных.
pha1984
2. Действительно ли есть практический смысл показывать в гриде все 5000 записей?
FoxPro скорей всего подгружает новые данные в грид по мере скролла.
а можно ли такое сделать подгрузку данных по мере скролла в MVD?
Увы пока нет.
может быть каким либо скриптом? На пример скрол работает только тогда если мышка находится на гриде, т.е. можно написать какой то скрипт типа этого
Form1_TableGrid1_OnEnter
begin
Form1.TableGrid1.dbLimit:= 1000;
Form1.TableGrid1.dbUpdate;
end;
Form1_TableGrid1_OnKeyPress
begin
Form1_TableGrid1_OnEnter ('')
end;
К сожалению скриптом это не реализовать.
My Visual Database → Russian → Комбобокс и не только
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi