![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Надо сделать чтобы в одной из колонок всегда выводилось значение поля в Uppercase.Это можно сделать? Если да, то как?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Обрабатывать событие OnDrawColumnCell нужного DBGrid
Вот пример:
здесь обрабатывается поле NAME и ячейка закрашивается синим цветом, а шрифт белым..... ну естесстно можно там, где изменения цвета шрифта использовать преобразование к заглавным буквам! P.S. Чуть не забыл. очень важно, иначе работать не будет - там где идет
Имя поля всегда должно быть заглавными буквами. -------------------- |
||||
|
|||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Прорисовывать DBGrid самому. Там есть какой-то обработчик - OnDrawCell или что-то еще такое.
Хотя может быть это не самый лучший вариант. Но что-то больше ничего в голова не приходит. Надо Help смотреть, а негде |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Допустим нарисовал, так ведь это рисунок(или всё-таки текст?), а если я в буфер скопирую - что скопируется? А если начать редактировать текст - это будет корректно обрабатываться?
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
А вообще есть еще TDataSource - OnGetText и OnSetText. Может это надо еще посмотреть ?
|
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Это текст, все будет нормально.... P.S. но вообще я бы посоветовыл тебе использовать DBGridEh из библиотеки EHLib, это самый лучший DBGrid, который я видел.... там есть все что необходимо. и куча еще другого. (автоматическая сортировка убывающая и возрастающая по клику на заголовке и многое другое....) Если нужен линк, то я его уже писал в топике (он так и называется - "Самый лучший DBGrid, что я видел") -------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
OnDrawColumnCell - это событие для того и существует, чтобы обрабатывать такие ситуации.... -------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Пользователь сможет вводить прописные буквы, но при перересовки DBGrid, они превратяться в заглавные. Ну, есть такой выход (при редактировании), как следить за OnKeyPress -------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Что-то я таких там не видел... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Я использую написанный моим другом, он вроде как покруче будет - там ещё возможности сортировки по нескольким полям и наложение фильтров на лету, хотя врать не буду - библиотеку что ты указал я не видел. Она Free? А с ней поставляются исходники? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Чего-то и я все перерыл, и не нашел такого... -------------------- |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Все эти возможности присутствуют в DBGridEn, но еще и куча других.... Я сам его недавно, месяца два назад открыл для себя...... Но он абсолютно бесплатен, для жителей бывшего СССР (ты тоже Vit к ним относишся Вот его описание библиотеки: TDBGridEh поддерживает всю функциональность TDBGrid'а и добавляет новые возможности следующего содержания: Возможность выбирать записи, колонки и квадратные области. Специальные заголовки на несколько столбцов или на всю таблицу Возможность отображения строки (строк) внизу таблицы с показом сумм, количества записей, значение другого поля или статического текста. Возможность автоматического выравнивания ширины столбцов так, чтобы сумма ширины всех столбцов была равна ClientWidth Возможность изменения высоты строк и заголовка Возможность отображения строк и заголовков с переносом слов Заголовки колонок могут быть использованы как кнопки и отображать индикатор сортировки Возможность прерывать длинные строки многоточием в заголовках и строках данных Lookup list может отображать несколько полей Непрокручиваемые столбцы Инкрементный поиск в lookup столбцах Выпадающий календарь для полей типа TDateField и TDateTimeFIeld. Возможность показывать картинки из TImageList в зависимости от значения поля Возможность скрывать и отслеживать вертикальный и горизонтальный строки прокрутки. Возможность скрывать столбцы Возможность показывать 3D рамку для замороженных ячеек, ячеек нижнего колонтитула и ячеек данных Пропорциональная прокрутка бегунка независимо от упорядоченности номеров записей в датасэте. TPrintDBGridEh TPrintDBGridEh предназначена для предварительного просмотра и печати компоненты TDBGridEh со следующими возможностями: Возможность расширять высоту строки что бы уместить весь печатаемый текст. Возможность масштабирования сетки что бы уместить всю сетку в ширину на одной странице. Возможность печати заголовка для сетки. Возможность печати верхнего и нижнего колонтитула для страницы с макросами для текущей страницы, текущей даты, текущего времени или просто статического текста. TDBLookupComboboxEh: TDBLookupComboboxEh обеспечивает всю функциональность стандартного компонента TDBLookupCombobox и добавляет несколько новых возможностей: Может иметь плоский(Falt) вид. Позволяет присваивать значения как свойству KeyValue так и отображаемому свойству Text. Позволяет вводить (присваивать) свойству Text значения не содержащиеся в списке данных (Style = csDropDownEh). Позволяет хранить в свойствах KeyValue and Text значения не влияющие друг на друга. Это возможно когда свойства KeyField, ListField, ListSource, DataField and DataSource пусты. Выпадающий спискок может: Выводить заголовки, Отображать значок изменения размера окна(Size grip), Автоматически устанавливать ширину окна по сумме ширины всех выводимых полей (Width = -1), Автоматически выпадать по нажатию буквенно-цифровой клавиши. Кнопка редактирования может: Показывать изображения треугольника направленного вниз, многоточия, побитового образа. Имеет события: OnKeyValueChanched, OnButtonClick. TDBSumList Компонента предназначена для подсчета сумм и количества записей в TDataSet'е с динамическим отслеживанием изменений. TPreviewBox TPreviewBox позволяет создавать настраиваемое окно предварительного просмотра. TPrinterPreview object (невизуальный) TPrinterPreview позволяет записывать необходимые для печати данные в буфер для последующего вывода их на принтер или на экран. TPrinterPreview имеет такие же функции и свойства как и объект TPrinter. Вы можете использовать объект TPrinterPreview подобно TPrinter за исключением некоторых деталей. В TPrinter свойства Printer.Canvas.Handle и Printer.Handle это одно и тоже, а в TPrinterPreview свойство PrinterPreview.Canvas.Handle представляет хэндл метафайла а PrinterPreview.Handle представляет нэндл принтера. Это значит что в должны использовать PrinterPreview.Canvas.Handle в функциях печати (DrawText, DrawTexteEx, и т.д.) а PrinterPreview.Handle в функциях которые возвращают информацию о параметрах принтера (GetDeviceCaps, и т.д.). Глобальная функция PrinterPreview возвращает определяемый по умолчанию объект PrinterPreview и отображает данные в определяемой по умолчанию форме предварительного просмотра. Вот линк на страничку автора: http://www.farpost.com/personal/dmitryb/main.htm -------------------- |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Спасибо
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Fantasist |
|
||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Не понял, а почему нельзя:
или
-------------------- Волны гасят ветер... |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Ну потому что это не предупредит ни вывод данных в ячейку ни ввод данных через буфер обмена, конечно, задействовав какое-то количество событий можно всё это обойти, только мне такой подход не нравится
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |