2016-12-14 8 views
0

В таблице данных сетки я хотел бы изменить цвет backgroud «выбранной» ячейки.LiveCode: Как изменить цвет фона ячейки в сетке данных

В таблице пользователь может выбрать ячейку в каждой строке (я использовал настраиваемое свойство, которое я увеличиваю каждый раз, когда пользователь нажимает на ту же строку). Я хотел бы выделить выделенную ячейку, например, изменив ее цвет.

Как я могу это сделать? Большое спасибо.

ответ

0

Я нашел способ, благодаря ответу dunbarx, и с добавлением использования «мишени».

on mouseUp 
    set the opaque of the target to "true" 
    set the backColor of the target to "green" 
end mouseUp 
+0

Это хорошее представление о том, что это все-таки поля. Мне все равно будет интересно, если есть встроенный способ установки этих свойств, предполагая, что это поле имеет фокус. – dunbarx

1

Я люблю говорить, что я использую сетки данных, но не понимаю их.

DataGrid - это просто сложный объект LC, состоящий из других объектов, групп и поведения LC. Каждое поле обозначается как, скажем: FLD «Col 1 0002» (первая колонка, вторая линия)

Таким образом, вы могли бы:

on mouseUp 
    set the opaque of fld "col 1 0002" to "true" 
    set the backColor of fld "col 1 0002" to "red" 
    end mouseUp 

Теперь вполне может быть «родной» способ сделать это, Но я этого не знаю.

+0

Спасибо за ваш ответ! .... но он не работает ... (нет такой ошибки объекта). Между тем моя проблема в том, что я не знаю, как получить поле, соответствующее ячейке, чтобы изменить его. Я могу получить доступ к значению ячейки, но не к объекту поля. – PatriceG

+0

Хорошо, я, наконец, нашел проблему. Я переименовал столбец моей Data Grid, и кажется, что он не работает с другими именами (даже если я использую то же самое в скрипте). Он работает с заранее определенными именами, такими как «Col 1». Спасибо за вашу помощь! Сейчас я работаю над тем, чтобы раскрасить «выбранную ячейку», как я спросил в вопросе. – PatriceG

+0

Я думаю, вы можете удалить свои другие ответы, которые на самом деле не отличаются от первого. – PatriceG

0

Если я создаю новую DG и закрою ее какой-то вкладкой и вернет разделительный текст, мой обработчик превратит выделенную «ячейку» в красный цвет.

Я заметил, что после «end mouseUp» в моем более раннем сообщении появился ложный символ. Я отредактировал его, но может это вызвало вашу проблему?

+0

Нет, спасибо, я тоже это заметил. – PatriceG

0

У вас есть данные в ячейке, которую вы заинтересовать? Этот метод не будет работать, если он пуст. «Нет такого объекта»? Может быть, вам это нужно, а также:

on mouseUp 
    set the opaque of fld "col 2 0003" of grp "yourDG to "true" 
    set the backColor of fld "col 2 0003" of grp "yourDG" to "green" 
end mouseUp 

 Смежные вопросы

  • Нет связанных вопросов^_^