![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
Набралось несколько вопросов средней сложности, надеюсь сможете подсказать. Модератору - создаю одну тему, а не несколько, тк вопросов много - не хочу засорять кучей тем ваш форум. 1. Как можно сделать для полей ввода режим типа Enabled=False (полная блокировка поля), но чтобы текст был легко читаемым как обычный чёрный (не осветлялся)? Можно ли это настроить один раз для всего проекта? 2. Нужно в cxGrid при вводе прямо в таблицу сделать отображение поля для выбора файла, есть там Properties ShellComboBox, но он не очень удобен, можно как-то сделать через открытие нового окна "Диалог выбора файла"? 3. Как автоматически почистить весь проект по каждому .pas от неиспользуемых USES ? 4. Есть некий СводныйКаталог с фильтром, к нему привязан DataSet. Пользователь выбирает значения в фильтре, эти параметры передаются в хранимую процедуру в БД, которая из нескольких таблиц БД собирает одну таблицу для отображения в СводномКаталоге. Всё работает. Вопрос - как при изменении записи в таблицах связанных с этим СводнымКаталогом обновлять только одну изменённую запись??? Иными словами DataSet-SQL-Select ссылается не на одну таблицу, а на ХП которая на основе параметров запроса (select * from StoredProcedure (?Param1,?Param2,?Param3..)) выбирает из множества таблиц - как в таком случае написать Refresh?? Запрос вида (select * from StoredProcedure (?Param1,?Param2,?Param3..) where Table1_ID=X) - не даёт результата, запись в СводномКаталоге не обновляется. Получается только через FullRefresh, но это опять передавать все данные, что делать имхо неправильно. Как же делать? 5 Почему-то не всегда срабатывает наследование процедур от родительской формы в дочернюю - приходится писать пустую процедуру вида: Код:
procedure TfForm.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; // end; |
#2
|
||||
|
||||
![]() 1. ReadOnly := true;
3. Никак, только вручную. 5. Потому что этот метод является "реакцией на событие". Посмотри, как реализована система событий, и поймёшь, почему события "родителей" не срабатывают. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
![]() 1. ReadOnly только не позволяет менять значение, но например в LookupComboBox ставится курсор мышкой, по Tab, выпадает список - всё это нужно заблокировать. "Своя отрисовка" слишком ради такой простой задачи. Стилями никак?
3. Вообще-то уже найдено несколько вариантов. 5. Не понял что и где смотреть. Форма полностью унаследована, значит всё должно наследоваться, в том числе события и процедуры. Напиши понятно. |
#4
|
||||
|
||||
![]() Цитата:
|
#5
|
|||
|
|||
![]() Ещё предложения?
|