|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Доброго времени суток! Как сделать, чтобы по щелчку мыши полностью выделялась в Grid'e колонка, как если б на нее перейти, например, Tab'ом? Или, если угодно, одинарный щелчок мыши заменить тройным щелчком? Короче, как в Excel'е... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 07:53 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Pulsar_p, Зачем тебе вся колонка? Все равно ведь работаешь только с ячейкой в текущей строке, а туда Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 11:41 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Может, тебе достаточно Header покрасить? Тогда в методе Gotfocus() Thisform.myGrid.Column<n>.text1 Код: sql 1.
а в Lostfocus() - обратно (как было) Код: sql 1.
На Excel чем-то похоже... :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 12:13 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Jonny540, Наверное, я немного неправильно сформулировал задачу. Дело в том, что когда пользователь кликает мышью по (Джонни прав) ячейке, в которой уже есть некоторое значение, (например, Автоваз), то нужно чтоб эта ячейка (value=Автоваз) выделялась целиком, т.е. выглядело так: Автоваз Зачем это нужно? Дело в том, что это значение берется из справочника, одна или там несколько букв не меняются, а меняется все значение ячейки целиком (либо ячейка полностью очищается). Что происходит сейчас: пользователь кликает мышкой, попадает (условно говоря) на середину ячейки, и ему (пользователю) для того, чтобы очистить эту ячейку приходится орудовать клавишами Del и Back, что сами понимаете, не есть хорошо. Нужный эффект (выделение ячейки) достигается тройным кликом мышкой по данной ячейке, но к сожалению, квалификация пользователей разная, кому-то легко быстренько три раза кликнуть мышкой по ячейке, кому-то нет (Пользователей больше тридцати). Ребята, есть ли простое решение данной проблемы? Советы типа того: "Зачем справочник запихал в Grid, все немедленно переделывай", просьба не давать, как говорится: "Мы имеем, то, что имеем..." Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 15:51 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Тоже бился как-то над этой проблемой. пропиши в Grid.MouseUp() Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 15:59 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Dima T, Не помогает... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 16:17 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Простите, если я не в тему. Тройной щелчок? - (я Ctrl+P на печать) заменила (добавила) на клик по скролу мышки, событие -Grid.ColumnN.Text1.MiddleClick сейчас юзают кто как хочет, кто как привык, но считают что мышкой круче! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 16:42 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Pulsar_pDima T, Не помогает... Наврал немного :) это надо в MouseUp() текстбоксов. Код: sql 1. 2. 3.
Но может работать как я выше написал, но тогда надо MouseUp() текстбоксов продублировать в Grid.MouseUp() через BINDEVENT() У меня это в Grid.Init() прописано: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2013, 17:45 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Dima T, Спасибо, все заработало. Сам бы ни в жизнь не догадался... Единственное, что у меня почему-то при клике мышке на некоторую ячейку, фокус "прыгал" на самую последнюю ячейку данной колонки. Немного допилил: * oldrecno=RECNO(this.parent.Parent.RecordSource) This.Parent.Parent.AllowCellSelection = .F. This.Parent.Parent.AllowCellSelection = .T. GOTO oldrecno IN this.parent.Parent.RecordSource This.Parent.Parent.SetFocus() * Еще раз большое спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 06:37 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Pulsar_p, Так тебя устроит? Метод Click() Thisform.myGrid.Column<n>.text1 Код: plsql 1. 2.
Вроде нормально пашет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 06:42 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Pulsar_pЕдинственное, что у меня почему-то при клике мышке на некоторую ячейку, фокус "прыгал" на самую последнюю ячейку данной колонки. У меня не прыгает. Скорее всего еще какой-то код у тебя срабатывает при этих переключениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 07:33 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Джонни, так тоже работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 09:06 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Только сейчас поняла о чём вы. Очень полезная вещь! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 10:45 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Всё чудесно работает. Спасибо! Подобного эффекта добилась ранее нагородив такой огород - стыдно вспомнить. Кроме того, в одном приложении реализованном на Делфи была такая фишка: при прокрутке грида по вертикали активная строка, прежде чем скрыться за рамки передавала фокус соседней видимой строке, короче активная строка была всегда на виду! Интересно, в Фоксе это осуществимо? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2013, 10:25 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Людмila, попробуйте поработать с activerow/lastrow/activatecell в событии scrolled(). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2013, 11:37 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
С Scrolled работала и не раз - он выдает одни и те же результаты независимо от нахождения активной строки. А все остальные Вами перечисленные методы и события ничего не говорят о том, видима ли активная строка или или уже нет. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2013, 19:17 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
ЛюдмilaА все остальные Вами перечисленные методы и события ничего не говорят о том, видима ли активная строка или или уже нет. :(Ну как это "не говорят"? Если видима, то в них некие числа, отличные от нуля. А если не видима, то ноль. Другое дело, что вроде бы нет простого способа определить, какая по счёту строка таблицы (точнее, её "представления") находится сейчас в верхней строке грида (извините за тавтологию). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2013, 19:55 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
tanglir, а можно поинтересоваться, кто именно Вам об этом сказал, и как Вы извлекли эту уникальную имфу? Куда не ткни - везде ноль или отличная от него величина. Во как. А мой вопрос был - осуществима ли вышеописанная фича в Фоксе???? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 00:44 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Людмila, ЛюдмilaА мой вопрос был - осуществима ли вышеописанная фича в Фоксе???? Может, не совсем то и только построчно, но все-таки: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Может, кто допилит для листания по страницам, мне лень :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 08:50 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
ЛюдмilaА мой вопрос был - осуществима ли вышеописанная фича в Фоксе???? Осуществима, правда не очень красиво. Надо кликать мышкой в нужную строку грида когда активная строка из области видимости уходит. Пропиши в Grid.Scrolled() Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Будет ставить на первую строку как та уйдет за кадр. PS По-моему это плохая идея. Теряется возможность покрутить список а потом вернуться обратно просто нажав стрелку на клавиатуре. И потом если пользователь скроллит мышкой, то кликнуть в нужную запись ему не сложно, кликать все равно придется. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 09:31 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
ЛюдмilaА все остальные Вами перечисленные методы и события ничего не говорят о том, видима ли активная строка или или уже нет. :(Да Вы же даже не читали про них! Я ведь в том ответе ошибся (прошу прощения) - метода lastrow у грида нет. Хотел написать relativerow, да задумался о чём-то. Кстати, это не методы или события, а свойства. Ну и... правда Ваша - везде либо ноль, либо не ноль. Да взять хоть тот же sqlexec - может вернуть ноль, а может и не ноль. Но Вы же не будете отрицать, что если эта функция вернула ноль, то это означает вовсе не то, что означала бы возвращённая единица, или минус единица, например. Почему же тогда сравнение с нулём значения activerow вызвало у Вас такую бурную реакцию? ЗЫ. А инфу я из хелпа брал, там прямым текстом сказано, что если текущая строка находится вне области видимости, то activerow=0. ЗЗЫ.Dima TPS По-моему это плохая идея...+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 10:27 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Dima T Код: sql 1. 2.
+headerheight добавить не мешало бы. А то мало ли у кого какие заголовки... ЗЫ. А в случае, если на гриде "висит" (after/before)rowcolchange, всё это (в любом из вариантов) ещё и будет нагружать систему в общем-то бесполезной работой. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 10:32 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
tanglirDima T Код: sql 1. 2.
+headerheight добавить не мешало бы. А то мало ли у кого какие заголовки... По хорошему - надо, я для примера +30 написал. tanglirЗЫ. А в случае, если на гриде "висит" (after/before)rowcolchange, всё это (в любом из вариантов) ещё и будет нагружать систему в общем-то бесполезной работой. Если что-то тяжелое навешено, то есть смысл таймер задействовать, который по окончанию пользовательской активности все сделает один раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 11:58 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Jonny540Может, кто допилит для листания по страницам, мне лень :)) keyboard '{dnarrow}' работает если крутить скролом мышки, грид скрывает сразу 3 строки (зависит от инд.настроек) - типа keyboard '{ dnarrow}' х 3 затем нажатие на PageDown - переносит на последнюю видимую строку грида - типа keyboard '{PGDN}' щелчек по линейке скрола грида - типа keyboard '{PGDN}' + keyboard '{ dnarrow}' c хвостом (когда осталось несколько строк) не совсем ясно. :( Из уверений Делфиста: - говорит что там подобные танцы с бубном сводятся к присвоению какому-то свойству значения 1 (.T.) и что вообще там сетка более продвинутая. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 01:03 |
|
Grid, выделение колонки(ячейки) щелчком мыши
|
|||
---|---|---|---|
#18+
Людмilac хвостом (когда осталось несколько строк) не совсем ясно. :(Продолжим танцы? что-то типа... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Все это, конечно, "через ж..." и надо ли это, тем более, что с колесом мыша вообще ерунда? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 16:40 |
|
|
start [/forum/topic.php?fid=41&msg=38160244&tid=1583143]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 168ms |
0 / 0 |