![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в ячейке DBGrid выделить определенное количество символов? [D4, D5, D6, D7]
aVast © (2003-10-15 16:21:00)
Необходимо организовать быстрый поиск по полям отображаемым в гриде, выглядеть это должно так:
1. При щелчке пользователя по заголовку столбца выполняется сортировка данных по этому полю
2. При вводе с клавиатуры выполняется поиск записей, поле сортировки которых начинается с символов соответствующих введенной строке. Естественно курсор позиционируется на найденную запись.
3. При переходе на найденную запись в ячейке грида выделяются только первые несколько символов, введенных пользователем.
Первый и второй пункты я благополучно выполнил, а вот с выделением символов ячейке справиться не могу.
Помогите!!!
З.ы.: если я вопрос слишком мудрено поставил скажите попытаюсь перефразировать.
Johnmen (2003-10-16 11:52:00) [1]
Для понимания
http://www.delphikingdom.com/helloworld/dbgridcolor.htm
aVast (2003-10-16 11:34:00) [2]
спасибо
sts (2003-10-16 11:31:00) [3]
Тебе же ответили : OnDrawColumnCell, рисовать при помощи Canvas.
Дальше F1
aVast (2003-10-16 11:27:00) [4]
НУ ПОДСКАЖИТЕ ЖЕ КТО НИБУДЬ!!!
aVast (2003-10-16 08:32:00) [5]
Куча исчерпывающих ответов просто поражает...
aVast (2003-10-15 18:12:00) [6]
> Chel (15.10.03 17:59)
WriteText это что за метод?
и чем заполняется Arect?
Chel (2003-10-15 17:59:00) [7]
Не знаю насколько верно мое решения, но я делал через Canvas. Вот где то примерно так:
if (gdFocused in State) and StartSearching then
begin
canva := TexDBGrid(sender).Canvas;
RestText:="";
if Column.Field.Value <> null then
RestText := Column.Field.Value;
delete(RestText,length(SearchText)+1,Length(RestText));
if SearchText<>"" then
begin
Canva.Brush.Color := clBlack;
Canva.Font.Color:= clWhite;
WriteText(canva,Arect,RestText,taLeftJustify);
end;
end;
Это все происходит в событие OnDrawColumnCell.
aVast (2003-10-15 17:46:00) [8]
> Johnmen © (15.10.03 16:33)
а как?
aVast (2003-10-15 17:44:00) [9]
и еще, хотелось бы все таки, сделать все на стандартных компонентах
aVast (2003-10-15 17:41:00) [10]
> dmtr © (15.10.03 16:31)
может быть подскажешь способы. У меня есть DBGridEh, только я его еще не копал...
Johnmen (2003-10-15 16:33:00) [11]
Это вопрос отображения ? Тогда, как обычно, в OnDrawColumnCell.
dmtr (2003-10-15 16:31:00) [12]
DBGridEh делает пункт 2 и 3