:: Visual Foxpro, Foxpro for DOS
перенос строки в grid
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
подскажите, как заставить грид переносить строки в "ячейке", то есть источник(таблица) имеет ячейку большой ширины (200), если отображать ее значение в одну строку - плохо воспринимается, гораздо приятнее с переносом строки и с увеличенным RowHeight, желательно последнему самому автоматом подгоняться, если это возможно конечно?


------------------
ICQ: 326-100-436
web: dtl.pepperdesign.ru
mail: ''.phorum_html_encode('dtl@bk.ru').''
vkontakte.ru/id1585555
Ratings: 0 negative/0 positive
Re: перенос строки в grid
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Devil To Love
подскажите, как заставить грид переносить строки в "ячейке", то есть источник(таблица) имеет ячейку большой ширины (200), если отображать ее значение в одну строку - плохо воспринимается, гораздо приятнее с переносом строки и с увеличенным RowHeight, желательно последнему самому автоматом подгоняться, если это возможно конечно?
1. Использовать в колонке вместо текстбокса эдитбокс.
2. Высота всех строк в гриде хоть и регулируема, но одинакова для всех строк.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
MichaelD

Сообщений: 7578
Дата регистрации: 14.05.2005
Devil To Love
подскажите, как заставить грид переносить строки в "ячейке", то есть источник(таблица) имеет ячейку большой ширины (200),

Обычно, вместо TextBox-ов используют EditBox-ы в таких случаях...


------------------
С уважением,
Михаил Дроздов, Пермь, Россия
Ratings: 0 negative/0 positive
Re: перенос строки в grid
matod

Сообщений: 3062
Откуда: Иркутск
Дата регистрации: 31.10.2001
RowHeight определяет высоту для всех строк одновременно. Для каждой строки отдельно - не получится. Поэтому, если хотите "автоматом" - надо определить по какому правилу подбирать.

Чтобы разместить текст в ячейке в несколько строк, надо в столбец грида вставить EditBox и указать его в свойстве CurrentControl + Sparce = .f. для столбца.

Подробнее - воспользуйтесь поиском
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Хех, очередная попытка изобразить электронную таблицу из базы данных? Выглядит все это с эдитбоксами, честно говоря, не лучшим образом, если не сказать грубее. Лучше включите отображение тултипов на форме, при подведении мыши к ячейке будт показан текст, если не помещается.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.




Исправлено 1 раз(а). Последнее : Влад Колосов, 14.05.09 16:30
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
спасибо всем, с editbox все получается, RowHeight придется стационарно забить с учетом ширины ячейки в 200 символов, не так уж и страшно, тем более таблица будет не большой, порядка 10 записей...

to Влад Колосов
тоже спасибо за подсказку, надо будет применить где-нибудь а m.oFormRef.ShowTips=.T. - это не то же самое? оно у меня включено всегда...
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Не знаю, что такое m.oFormRef, если это форма, то да Хотя некоторые говорили, что у них подсказка не всплывает. У меня работает. VFP9SP1.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
m.oFormRef - это топ левел форма.
не отображаются подсказки... версия 9-я фокспро без сервис паков. может надо для каждой формы отдельно это свойство включать? а не для глобальной формы?
Ratings: 0 negative/0 positive
Re: перенос строки в grid
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Devil To Love
глобальной формы?
Что это за понятие такое? Откуда взято?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Все зависит от наследования.


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
ssa
Devil To Love
глобальной формы?
Что это за понятие такое? Откуда взято?

да это я так обозвал top level form, извинияюсь

ладно, подсказки буду мучать, прикольная штука!
всем спасибо, тема, думаю, закрыта.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
При использовании Editbox - неизбежны проблемы с переводом фокуса от ячейки к ячейке, и связанные с этим различные неудобства листания и переходов по строкам и столбцам с помощью стрелок.
Поэтому лучше в Column вставлять двойной контрол - из Label и Editbox.
В режиме просмотра включены Label.
В режиме редактирования включается Editbox.
Если же режим редактирования вынесен в отдельное от грида окошко, что вообще говоря обычно предпочтительнее, то Editbox можно и не вставлять, ограничившись Label.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: перенос строки в grid
GermanGM

Сообщений: 83
Дата регистрации: 17.03.2009
Как вариант: вынести содержимое поля в обычный EditBox, расположенный где-нибудь (например) под Grid-om, снабдив его соотв.пояснительной надписью и т.п. Установить св-во ControlSource и refresh-ить в AfterRowColChange. Ну это в том случае, если "длинных" полей 1-2. Таблица с "встроенными" EditBox-ами выглядит обычно громоздко, ИМХО.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
matod

Сообщений: 3062
Откуда: Иркутск
Дата регистрации: 31.10.2001
Цитата:
При использовании Editbox - неизбежны проблемы с переводом фокуса от ячейки к ячейке,
В режими ReadOnly, возможно, приемлемым решением будет AllowCellSelection = .f. и не надо с label заморачиваться.

Если в ячейке EditBox, то часто бывает, что текст все равно весь не видно и пользователю желательно дать возможность прокрутки внутри ячейки. Хотя это приведет к несогдасованности управления гридом в разных столбцах.

Всплывающая подсказка - хорошо, конечно. Но вот не знаю, можно ли управлять размером шрифта, цветом и т.п. у нее. Мелковатая она.

Как вариант. В одной программе по просьбе пользователя при щелчке правой кнопкой мыши над гридом размещался EditBox, который был чуть больше по размерам, чем ячейка, но вмещал весь текст.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
tan

Сообщений: 220
Откуда: г. Ставрополь
Дата регистрации: 08.05.2007
Crispy
Поэтому лучше в Column вставлять двойной контрол - из Label и Editbox.
В режиме просмотра включены Label.
В режиме редактирования включается Editbox.

А как будут смотреться несколько control в гриде на форме?
Какой из них будет виден? И как осуществлять переключение?
И еще вопрос - добавить control в грид получается в дизайнере, а вот удалить лишний - не могу. ??



Исправлено 1 раз(а). Последнее : tan, 15.05.09 10:17
Ratings: 0 negative/0 positive
Re: перенос строки в grid
PaulWist

Сообщений: 14614
Дата регистрации: 01.04.2004
Цитата:
Можно удалить уже не нужный объект Text1 из столбца Grid следующим образом:

В окне Properties в раскрывающемся списке выберите объект, который хотите удалить

Один раз щелкните левой клавишей мыши по любому месту формы. Лучше щелкнуть по заголовку формы, хотя это не принципиально.

Нажмите клавишу Delete на клавиатуре


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
Crispy
При использовании Editbox - неизбежны проблемы с переводом фокуса от ячейки к ячейке, и связанные с этим различные неудобства листания и переходов по строкам и столбцам с помощью стрелок.
первое неудобство, с которым столкнулся такое, я гриду прописываю след свойства:
.GridLineColor=RGB(70,170,60)
.SetAll("DynamicBackColor", "IIF(MOD(RECNO( ), 2)=0, RGB(235,235,255), RGB(235,235,255))", "Column")
.HighlightStyle = 2
.HighlightBackColor = RGB(255,255,0)
.HighlightForeColor = RGB(255,0,0)

вот такие вот красотульки, естественно едитбокс этого ничего не видит и сидит на своей волне, можно и его заставить слушаться этих свойств?
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Devil To Love
Автор

Сообщений: 185
Откуда: Ростов-на-Дону
Дата регистрации: 10.01.2007
tan
И еще вопрос - добавить control в грид получается в дизайнере, а вот удалить лишний - не могу. ??
а если просто
.Column2.removeobject('Text1')

?
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
tan
Crispy
Поэтому лучше в Column вставлять двойной контрол - из Label и Editbox.
В режиме просмотра включены Label.
В режиме редактирования включается Editbox.

А как будут смотреться несколько control в гриде на форме?
Какой из них будет виден? И как осуществлять переключение?
И еще вопрос - добавить control в грид получается в дизайнере, а вот удалить лишний - не могу. ??

Управлять их видимостью можно свойством Enabled, например так:
thisform.grid1.column1.Label1.Enabled=.T.
thisform.grid1.column1.Edit1.Enabled=.F.
и наоборот, при необходимости возвращая фокус гриду.
Естественно, у Label нет свойства "ресурс", присваивание значения идет в Caption. Если это делать в дизайнере например, то - вписывая туда целиком выражение наподобие =myTable.myField1, но обязательно вместе со знаком равенства.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: перенос строки в grid
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Devil To Love
Crispy
При использовании Editbox - неизбежны проблемы с переводом фокуса от ячейки к ячейке, и связанные с этим различные неудобства листания и переходов по строкам и столбцам с помощью стрелок.
первое неудобство, с которым столкнулся такое, я гриду прописываю след свойства:
.GridLineColor=RGB(70,170,60)
.SetAll("DynamicBackColor", "IIF(MOD(RECNO( ), 2)=0, RGB(235,235,255), RGB(235,235,255))", "Column")
.HighlightStyle = 2
.HighlightBackColor = RGB(255,255,0)
.HighlightForeColor = RGB(255,0,0)

вот такие вот красотульки, естественно едитбокс этого ничего не видит и сидит на своей волне, можно и его заставить слушаться этих свойств?

Можно передавать их ему например в AfterRowColChange как-то так: thisform.grid1.column1.SetAll('BackColor',RGB(0,255,0),'Editbox')
При условии AllowCellSelection = .T. конечно.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 25 (Гостей: 25)

© 2000-2024 Fox Club 
Яндекс.Метрика