| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Старый вопрос по Grid |
| Автор: FlaGmaN 20.3.2008, 18:11 | ||
| Уважаемые друзья! мне необходимо сделать так, что при нажатии на ячейку в ней менялся фон и цвет(ehGrid), но есть нюанс. Снятие выделения с ячейки должно происходить по повторнуму нажатию на нее и одновременно может быть выделенно несколько ячеек. пытался вертеть код
Но ничего не вышло. P.S. У кого есть какие - либоо соображения по этому поводу прошу высказаться. |
| Автор: Alix 20.3.2008, 18:37 |
что конкретно не вышло? цвет не изменился, не получается чтобы снималось при повторном клике или что? покажи, кстати, весь код прорисовки ячейки |
| Автор: FlaGmaN 21.3.2008, 09:40 |
| В свойство ondrawdatacell компонента TJvDBGrid вставил выше написанный код, но никакой реакции от программы не последовало. На всякий случай вставил этот же код в свойство ON Drawcolumncell. результат то же. |
| Автор: FlaGmaN 21.3.2008, 09:56 |
| Так, с выделение многих сток. я только что разобрася. option->multiselect = true; Теперь взник вопрост при этом самом мульти селекте как сделать так чтобы данные из конкретной ячейки передавались в edit на другой форме. Я использую DeliveryForm.Edit7.Text:=cliData.qClientPhases.Fields[2].Text; но как понятно передается только одна последняя выбранная ячейка. А мне нужно сделать так чтобы до восьми значений передавалось с edit2 по edit9. Мжет кто может подсказать алгоритм или код подбросит. С уважением,FlaGmaN, |
| Автор: FlaGmaN 21.3.2008, 11:26 |
| Господа! как можно отследить что строка выбрана? и в какой процедуре это описать |
| Автор: Alix 21.3.2008, 13:58 | ||
если используешь TClientDataSet, то это событие OnAfterScroll. Если нет, то должен быть аналог. А выделенные ячейки можно получить, по-моему, в TDBGrid.SelectedRows. |
| Автор: FlaGmaN 21.3.2008, 14:55 |
| В процессе вышел следующий код for i:=0 to ClientTaskPhases030JvDBGrid.SelectedRows.Count-1 do begin clidata.qclientphases.bookmark:= ClientTaskPhases030JvDBGrid.selectedrows; stringar:=cliData.qClientPhases.Fields[2].Text; end; error :incompatible types: "Strind"and "Tbookmarklist" Подскажите что сделать чтоб исправить ошибку |
| Автор: Akella 21.3.2008, 14:58 |
| используй выделение с Ctrl+ЛКМ |