Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Вниз

Проблема с DBGrid   Найти похожие ветки 

 
Юля   (2002-10-30 14:16) [0]

Помогите пожалуйста, у меня проблема с DBGrid. Мне надо сделать множественный выбор, но я не хочу пользоваться мультиселектом,т.к. нужно держать ctrl, а я бы хотела сделать либо галочку, либо выделение цветом по двойному нажатию мышки.


 
Aristarh   (2002-10-30 14:34) [1]

IMHO
Вряд ли у тебя что-то получится, по крайней мере без особых извращений. Свойство DBGrid1.SelectedRows Read Only. У меня используется ctrl.


 
Юля   (2002-10-30 14:50) [2]

а если поизвращаться, то каким образом?
хотя бы с подсветкой подскажите как сделать? типа - выделить строку красным цветом по двойному нажатию?


 
Григорий Ситнин   (2002-10-30 14:52) [3]

Хм... Перекрывать DrawCell с DblClick"ом и хранить список "кликнутых" строк отдельно?


 
Юля   (2002-10-30 14:53) [4]

или хотя бы ячеечку по двойному нажатию?


 
Romkin   (2002-10-30 14:55) [5]

Поле сделать дополнительное, в нем признак и хранить, а на OnDrawCell рисовать строку красным цветом, на OnDblClick - менять значение поля (и перерисовывать)


 
Aristarh   (2002-10-30 14:56) [6]

>Юля

см. еще раз Григорий Ситнин © (30.10.02 14:52).
Классная идея. Только в таком случае они на самом деле выделены не будут.


 
gek   (2002-10-30 15:00) [7]

> Aristarh © (30.10.02 14:56)
Будут будут...


 
Юля   (2002-10-30 15:06) [8]

спасибо усе попробую:)


 
Aristarh   (2002-10-30 15:09) [9]

>gek © (30.10.02 15:00)

цветом - да.


 
Юля   (2002-10-30 15:25) [10]

а поподробнее как перекрывать напиши плиз:)


 
Юля   (2002-10-30 15:27) [11]

а поподробнее как перекрывать напишите плиз:)


 
Aristarh   (2002-10-30 15:39) [12]

В object inspector:
DefaultDrawing = false

В св-ве OnDrawColumnCell:
(кусок из моей проги, разберешься)

with DBGrid1.Canvas do
begin
if (CATV.quDolg.FieldByName("DisconnectDate").AsDateTime <> 0) and not (gdSelected in State)
then begin
Brush.Color := clRed;
FillRect(Rect);
if (Column.Field.DataType=ftString) or (Column.Field.DataType=ftDateTime)
then TextOut(Rect.Left+2, Rect.Top+2, Column.Field.Text)
else TextOut(Rect.Right-TextWidth(Column.Field.Text)-3, Rect.Top+2, Column.Field.Text);
end
else DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

end; // with


 
Юля   (2002-10-31 07:49) [13]

> Aristarh © (30.10.02 15:39)
большое спасибо!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.14 c
1-34094
KMZ
2002-10-31 13:56
2002.11.11
Привет всем, подскажите пожалуйста


14-34233
vopros
2002-10-23 14:07
2002.11.11
Таки сделал я то что хотел, про файлы.Поздравьте.


1-34032
tytus
2002-11-03 00:48
2002.11.11
Обновление OLEAUT32.DLL


1-33954
vixic
2002-11-01 11:56
2002.11.11
Добавление объектов!


3-33906
Picco
2002-10-23 10:36
2002.11.11
Редактирование вычисл. полей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский