|
|
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
По этой ссылке нашла как расчитать количество строк в editbox, но так как я уж очень начинающий новичок, то не знаю как и куда все это вставить, подскажите пожалуйста, ну очень нужно. Зараннее большое спасибо!!! /topic/46115&hl= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 06:56 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
А в чём задача, Катя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 08:51 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Дело в том, что у меня слишком длинный текст и в одну строчку он не входит, мне нужно что бы текст вывелся в несколько строк и соответственно моя ячейка расширилась, вот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 12:58 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
"Ячейка" - это Grid? В такой постановке это не имеет смысла, поскольку высота всех строк и ячеек в Grid одинаковая. Т.е. не получиться "подогнать" высоту каждой ячейки под содержимое. Где-то будет больше, где-то меньше. Если речь идет о EditBox на форме, то опять же - это не имеет большого смысла. Просто используется вертикальный скролинг, если необходимо. Или речь идет о чем-то другом? В самом общем случае, расчет надо вести после того, как будет ясно какой именно текст будет отображен в данном объекте. Обычно, к событию INIT - это уже известно. Вот в INIT соответствующего объекта и попробуй выполнить вычисления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 14:20 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
"Ячейка" - это Grid, мне нужно подогнать высоту строк под максимальную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 06:09 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
У Grid VFP8 есть метод AutoFit(), который как раз изменяет ширину колонок Grid по размеру строк. А пустить текст в две строки в Grid не получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 08:20 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
...если не использовать в качестве контрола в ячейке грида editbox. Но делать это как раз не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 08:32 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Почему не стоит использовать в качестве контрола в ячейке грида editbox? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 09:26 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Urri...если не использовать в качестве контрола в ячейке грида editbox. Но делать это как раз не стоит. Присоединяюсь к вопросу katrinochki У меня в VFP5 работает EditBox в Grid нормально (пока :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 09:43 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Ниужели нельзя ничего сделать? Я пробовала вставлять editbox, но он показывает текст в одну строку, до тех пор пока на него не нет щелкнешь мышью, тогода все нормально, правда полоски пркрутки там бы ненужны были ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:10 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
katrinochka"Ячейка" - это Grid, мне нужно подогнать высоту строк под максимальную. А ты представляешь, что в этом случае надо сделать? Надо просканировать все записи, которые будут отображаться в Grid и сделать расчет для каждой из них. Иначе, как ты определишь максимальное значение? Кроме того, ведь ширина столбца Grid (как и высота строк) может меняться пользователем в процессе работы. Будешь делать пересчет после таких изменений? А как насчет изменения содержимого? Тоже пересчитывать. Может, проще установить некоторую фиксированную высоту строк, например, чтобы в EditBox отображалось 3 строки. В большинстве случаев, этого вполне достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:18 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
я уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:30 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
katrinochka! Один из выходов из такой ситуации. Я бы оставил GRID впокое, а сделал бы дополнительный элемент EditBox на форме, привязал ControlSource к полю таблицы (или view что у тебя имеет место). И при движении по записям GRID обновлял EditBox, чтобы пользователь мог полностью увидить содержимое этого поля. Конечно размер EditBox надо подрегулировать. Но с другой стороны скролинг позволит пользователю полностью увидеть содержимое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:34 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
это конечно не то что нужно, но если нет другого выхода, то попробую. большое спасибо!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 10:50 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
katrinochkaя уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 11:20 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
katrinochkaПочему не стоит использовать в качестве контрола в ячейке грида editbox? Это я свое сугубо мнение излагаю. Оно, конечно, работает. Но я считаю, что так делать не нужно, потому что в моем представлении грид должен выполнять свои функции (предоставлять табличную информацию, где одна запись - одна строка), а эдитбокс - свою. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 14:48 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
http://www.foxclub.ru/zhur/index.php?id=2&act=view Поведение некоторых элементов в фоксе оценивается в первый момент. Уж знаешь про это , знаешь, а все равно в очередной раз во что нибудь вляпаешься. Вот возьмет grid , поместим в него editbox Конечно присвоим controlsource к длинному полю какой нибудь таблицы. Высоту колонки сделаем большой. Чего добиваемся , просто того , чтобы в гриде в текстовой коробке было видно несколько строк. Вообще говоря, правильная работа этого элемента в гриде зависит от alighment. Попробуйте правое выравнивание , увидите много чудес. Но я сейчас не про это. Положим делаем не файл –сервер , а клиент сервер или просто грид присоединяем не к таблице, а к курсору , который получен в результате select sql. Другими словами в момент инициализации grid и editbox эти элементы еще не знают длину полей, с которыми они будут работать. Поле присваевается в коде . Ну вот, смотрим и не видим несколько строк в editbox, длинные строки урезаны. Ну что делать. Сделаем липовую таблицу с нужными длинами полей, присоединим ее в начальный момент к гриду и editbox , а потом при создании нужного курсора оторвем их от этой таблицы и присоединим к нужному источнику. Ну вот, совсем другой коленкор. Все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2005, 16:09 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
katrinochkaя уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку? Что-то я не пойму прикола - стоит в гриде edit и прекрасно делает перенос длинных строк... И никакого Sparce... Всё по дефолту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 02:17 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Большое прибольшое спасибо, все получилось как надо, помогло: Grid1.Column1.Sparce = .F. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 06:37 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Redrik katrinochkaя уже так и сделала, а то что то слишком сложновато для меня получилось, только вот теперь как сделать что бы edit box показывал все 3 строки, а то пока мышью не щелкнешь, он отказывается показывать все содержимое, тлько первую строку? Что-то я не пойму прикола - стоит в гриде edit и прекрасно делает перенос длинных строк... И никакого Sparce... Всё по дефолту... Sparce = .F. нужен для того, чтобы EditBox отображалсе не только в текущей (выделенной) ячейке Grid, но и во всех остальных ячейках Grid того же столбца. К переносу строк это никакого отношения не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 11:41 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Установка sparce в .F. дает "неразумный" размер grid'a... Может растягивать строки "вовремя"? Например, так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 17:47 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Забыл добавить - тут же можно и расчет забабахать... Нужная высота для текущего содержания Edit'a! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 17:49 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
Sparce на размер Grid никак не влияет! Тем более, что в твоем примере ты сделал кучу лишних "телодвижений". Имя шрифта вообще не указано ?! Ты зачем-то решил "динамически" менять высоту строки при входе в ячеку ?! Если хочешь ставить эксперименты, то не должно быть никаких "лишних настроек". Создал Grid, добавил EditBox, установил Sparce=.F. ВСЕ! Не надо больше ничего "улучшать". По крайней мере, поймешь, что же именно делает эта настройка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 17:59 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
RedrikЗабыл добавить - тут же можно и расчет забабахать... Нужная высота для текущего содержания Edit'a! А прочитать HELP по свойству RowHeight - ломает? HELP VFP RowHeightSpecifies the height of all the rows in a Grid control Т.е. невозможно установить разную высоту для разных строк. Высота будет установлена одинаковая для всех строк Grid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 18:04 |
|
||
|
Подскажите новичку
|
|||
|---|---|---|---|
|
#18+
ВладимирМSparce на размер Grid никак не влияет! Естественно! Sorry, если я где-то был некорректен! :-( ВладимирМТем более, что в твоем примере ты сделал кучу лишних "телодвижений". ??? ВладимирМИмя шрифта вообще не указано ?! ??? Это был "огрызок" рабочей формочки... Чёрт его знает, куда делся шрифт... Я его специально не убирал... Там был Courier. Но никакого отношения к теме это не имеет! ВладимирМТы зачем-то решил "динамически" менять высоту строки при входе в ячеку ?! Не "зачем-то", а с целью "экономии места" в гриде! ;-) ВладимирМЕсли хочешь ставить эксперименты, то не должно быть никаких "лишних настроек". Создал Grid, добавил EditBox, установил Sparce=.F. ВСЕ! Не надо больше ничего "улучшать". По крайней мере, поймешь, что же именно делает эта настройка. И что я там такого "наулучшал"? 8-/ Но, большое спасибо за совет! Впредь буду делать только так, как Вы сказали! Раз уж Вы считаете, что Sparce для меня загадка... :-( ВладимирМА прочитать HELP по свойству RowHeight - ломает? Владимир, Вы сегодня чем-то раздражены? Теперь подробнее о том, что я хотел сказать, или показать, или предложить... 1. Sparce нужен для отображения Edit'ов по ВСЕМУ Grid'у - нет вопросов и сомнений! Только тогда получаем ВЕЗДЕ текст с переносами - иначе будет только начало фразы... типа "Text"... 2. Делать заведомо высокими строки грида = терять объем полезной информации. Для навигации в гриде чаще всего будет достаточно видеть начало содержимого поля. 3. Поэтому нет необходимости в Sparce! Оставляем "обычную" высоту строк - пусть конкретный Edit "появляется" тогда, когда мы хотим в него попасть! А для того, чтобы Edit "раскрылся" с нужным нам размером - вычисляем количество строк, необходимую высоту Edit'а и устанавливаем RowHeight. И, конечно, оно будет одинаково для всего грида! ;-) Большой текст в текущей записи - высокие строки, всего пару слов - и увеличивать высоту не придется... Конечно, на универсальный подход я тут не претендую! Кому как нравится, какая задача и т.п. Но грид в три-пять строк ради удовлетворения "максимально необходимой высоты" смотрится отвратительно... IMHO! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2005, 20:39 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=322&tid=1594278]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
16ms |
get forum data: |
3ms |
get page messages: |
100ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 440ms |

| 0 / 0 |
