|
|
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Привет. Проблема вкратце такова: Мною пишется клиент на VFP8 в связке с MSSQL. В клиенте разработана специальная форма для настройки внешнего вида грида (видимость колонок, подсветка,высота строк, шапки и т.д.). Т.е. я могу любой грид настроить через эту форму как мне хочется - спрятать/показать колонки и т.д. Все эти настройки гридов сохраняются соответственно на сервере и восстанавливаются при следующем запуске клиента. Как работает форма настройки: В нее передается указатель грида (THIS) и через этот указатель в форму считывается все колонки грида, размер шапки, строк и индикатор подсветки строки. После того, как я закрываю форму настройки по кнопке OK, я через указатель на грид, прохожусь по его колонкам и применяю свойство Visible = .T. или .F. колонок в зависимости от того как я настроил эти колонки в форме. После того, как некоторые колонки скрыты, при пролистывании грида горизонтально почему-то возникают глюки, у активной записи - затираются у последних колонок названия, и все как бы смещается и возникает каша, словно явно чуствуется "нехватка" спрятанных колонок. Такое часто возникает, когда скрываются колонки в середине грида или в самом начале. Никто не сталкивался с такой проблемой ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:06 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
А удалить их... REMOVEOBJECT-есть такой метод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:11 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Привет всем :) Я обычно VISIBLE колонки комбинирую с ENABLED и RESIZABLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:16 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Можно конечно попробовать через AddColumn DeleteColumn, но тогда придется каждый раз переопределять ControlSource для колонок грида ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:17 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
>Привет всем :) >Я обычно VISIBLE колонки комбинирую с ENABLED и RESIZABLE. Равиль, Ваш вариант не сработал :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:21 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
А в каком методе Вы все переопределяете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:28 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Приведу код: SCAN && идем по курсору, в котором сидят наименования колонок грида WITH THISFORM.oGrd && Указатель на грид, для которого идет настройка && был передан в форму настройки из грида через && THIS грида .Columns(RECNO()).ColumnOrder = ColOrder && Индикатор положения && колонки в гриде IF ColHide = 1 && Индикатор показать/скрыть колонку .Columns(RECNO()).Visible = .F. ELSE .Columns(RECNO()).Visible = .T. ENDIF .LockColumns = THISFORM.spnLEFTLOCK.Value .RowHeight = THISFORM.spnROWHEIGHT.Value .HeaderHeight = THISFORM.spnHDRHEIGHT.Value IF THISFORM.chkHIGHLIGHT.Value = 0 .HighLightStyle = 0 ELSE .HighLightStyle = 2 ENDIF ENDWITH ENDSCAN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:35 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Не знаю - Refresh грида в конце конечно напрашивается... Я обычно подобный код пишу в Init грида и вызываю его при необходимости... Может кто-то еще посоветует :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:49 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Это баг. См. на UT. Надеюсь в сп1 поправят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:56 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
>Это баг. См. на UT. Надеюсь в сп1 поправят. На этом всем спасибо. Будем ждать сервис пак :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 09:57 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
После того, как некоторые колонки скрыты, при пролистывании грида горизонтально почему-то возникают глюки, у активной записи - затираются у последних колонок названия, и все как бы смещается и возникает каша, словно явно чуствуется "нехватка" спрятанных колонок. Кстати , в гриде случайно не присутствуют объекты контейнеры? В любом случае поступаешь так: В методе Scrolled грида пишешь This.Refresh() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 10:11 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
>После того, как некоторые колонки скрыты, при пролистывании грида >горизонтально почему-то возникают глюки, у активной записи - затираются >у последних колонок названия, и все как бы смещается и возникает каша, >словно явно чуствуется "нехватка" спрятанных колонок. >Кстати , в гриде случайно не присутствуют объекты контейнеры? >В любом случае поступаешь так: >В методе Scrolled грида пишешь >This.Refresh() В гриде таких объектов нет, и при добавлении вышеприведенного кода глюки пропали. Но мне не нравится как стал работать грид при скроллировании: создается впечатление что скрытые колонки учитываются при скроллинге, что приводит к визуальному "дерганью" грида. Например, есть 10-ть колонок, 2я,3я скрыты, находимся на самой первой колонке (она видимая,слева), за ней видна сразу 4,5 и т.д. При скроллинге вправо - первая колонка уходит влево, за пределы видимости грида, а самой левой становится 4-я. При повторном скроллинге - 4-я колонка влево не уходит, а остается на месте (листается 2-я невидимая колонка). Повторный скроллинг приводит к такому же результату (листается 3-я невидимая колонка). И лишь затем скроллирование идет нормально. А это не есть гут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 10:26 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
А вместо visible=.f. column.width=0 column.Resizable=.f. column.enabled=.f. не проканает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 10:53 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
>А вместо visible=.f. >column.width=0 >column.Resizable=.f. >column.enabled=.f. >не проканает? Те же глюки остались. Ладно, буду ждать сп или попытаюсь сделать с переопределением числа колонок у грида (при скрытии колонок) с последующим переопределением controlsource колонок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 11:00 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Описанный баг на UT немного по-другому проявлялся, но в принципе то же самое, т.к. там колонки конечные колонки хайдились, а не серединные, как у Вас. Там же предложены 2 обхода бага. Смысл обхода - это на assign-методе к Visible колонки (или на BINDEVENT событии во втором примере обхода) сделать Width колонки равным нулю, затем восстановить прежний и перерисовать скроллбары. Подробнее смотрите здесь: UT Visual FoxPro Bug List Выберите Page2 Ошибка: Scroll bugs with Invisible columns in grid June 2, 2003 15:21 Walter Meester ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 12:35 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
>Описанный баг на UT немного по-другому проявлялся, но в принципе то же >самое, т.к. там колонки конечные колонки хайдились, а не серединные, как у >Вас. Там же предложены 2 обхода бага. Смысл обхода - это на assign-методе >к Visible колонки (или на BINDEVENT событии во втором примере обхода) >сделать Width колонки равным нулю, затем восстановить прежний и >перерисовать скроллбары. Подробнее смотрите здесь: UT Visual FoxPro Bug >List >Выберите Page2 >Ошибка: Scroll bugs with Invisible columns in grid June 2, 2003 15:21 Walter >Meester Спасибо, буду смотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2003, 12:43 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Каому-нибудь удалось побороть этот баг? А то половину вчерашнего дня ломал голову, что это такое с гридом моим, пока не наткнулся на этот топик сегодня. P.S. Раздражает, если честно это дерганье, т.к. колонок много и их приличное кол-во скрыто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 08:55 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
А нельзя использовать другой грид? SGrid, например. ---------------- Новичок в VFOX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 09:29 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
bodrox А что такое SGrid???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 09:31 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Иван КрамерКаому-нибудь удалось побороть этот баг? Двыа подхода - динамически создаваемый грид в котором учитываются только видимые колонки, остальные не создаются. Или лишнее просто удаляются - метод GRID-а DeleteColumn() работает просто на ура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 09:57 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
К сожалению, у меня слишком навороченный грид. Переопределены классы заголовка, колонки, все формируется автоматически, есть фильтрация, поиск, запоминание состояния грида между сеансами + ко всему возможность скрытия колонки по желанию пользователя и метод DeleteColumn() на первый взгляд внесет некую сумятицу. Может есть какой еще способ? Может какой SP решает данную проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 10:03 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Иван Крамер bodrox А что такое SGrid???? Гм. Ну я так образно называю нестандартные гриды из программируемых классов :). То есть, я к тому, что пробовали ли вы использовать любой другой класс, и повторялся ли на нём такой же глюк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 10:17 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
bodroxТо есть, я к тому, что пробовали ли вы использовать любой другой класс, и повторялся ли на нём такой же глюк? Собственно у меня как раз нестандартный грид, глюк возник, когда колонок стало 16, на 8, когда тестировал такого не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 10:45 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Ну вот поставил 11 колонок, вроде все нормально, но до тех пор пока совокупная ширина всех столбцов меньше какого-то порога, делаю колонку шире и начинается эта канитель с прорисовкой 8( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 10:49 |
|
||
|
Грид,колонка, Visible
|
|||
|---|---|---|---|
|
#18+
Иван КрамерНу вот поставил 11 колонок, вроде все нормально, но до тех пор пока совокупная ширина всех столбцов меньше какого-то порога, делаю колонку шире и начинается эта канитель с прорисовкой 8( А самое забавное, что этот глюк по-разному проявляется в формах MDIForm = (.T./.F.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2007, 10:56 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32242614&tid=1588188]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 399ms |

| 0 / 0 |
