:: Visual Foxpro, Foxpro for DOS
Re: перенос строки в grid
frontman

Сообщений: 89
Откуда: Москва
Дата регистрации: 16.02.2005
Crispy
Естественно, у Label нет свойства "ресурс", присваивание значения идет в Caption. Если это делать в дизайнере например, то - вписывая туда целиком выражение наподобие =myTable.myField1, но обязательно вместе со знаком равенства.
Подниму старую тему. Попробовал отобразить текст в Grid через Label ,чтобы WordWrap поиметь, присвоил Caption=myTable.myField1 , но у меня все строчки в гриде равны первой записи в таблице.. Что-то еще надо прописать или такой номер в VFPSP2 не прокатывает?



Исправлено 2 раз(а). Последнее : frontman, 13.11.18 14:38
Ratings: 0 negative/0 positive
Re: перенос строки в grid
PaulWist
Автор

Сообщений: 14614
Дата регистрации: 01.04.2004
1. WordWrap = .t. ничего не даст, высота строки грида автоматом не раздвинется

2. Используй Control.ToolTipText


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

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Полагаю самой колонке надо присвоить myTable.myField1 .
Решения из ексель, вряд ли стоит переносить в фокс.

Куча других вариантов предложена в этом топике.
Ratings: 0 negative/0 positive
Re: перенос строки в grid
frontman

Сообщений: 89
Откуда: Москва
Дата регистрации: 16.02.2005
Высоту я ручками увеличил, WordWrap = .t. выставил, и в две строки отображает..
В самой колонке myTable.myField1, и Label,Caption=myTable.myField1
Но все строчки одинаковые, как 1 -я запись в таблице.



Исправлено 1 раз(а). Последнее : frontman, 13.11.18 16:33
Ratings: 0 negative/0 positive
Re: перенос строки в grid
frontman

Сообщений: 89
Откуда: Москва
Дата регистрации: 16.02.2005
Аспид
Решения из ексель, вряд ли стоит переносить в фокс.

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



Исправлено 1 раз(а). Последнее : frontman, 13.11.18 16:39
Ratings: 0 negative/0 positive
Re: перенос строки в grid
PaulWist
Автор

Сообщений: 14614
Дата регистрации: 01.04.2004
Держи, по месту допилишь

Create Cursor test (mf c(200) null)
For i=1 to 10
Insert into test values ('Value' + REPLICATE(TRANSFORM(i), 50))
Next
Go top
o = CreateObject("MyForm")
With o
.Show(1)
EndWith
Define Class MyForm as Form
Add Object Grid as grid
Procedure Init
With this
WITH .Grid
.RecordSourceType = 1
.RecordSource="test"
.ColumnCount=2
.RowHeight = 50
.Columns[1].Width = 100
.Columns[1].RemoveObject('Text1')
.Columns[1].AddObject('GridLabel', 'GridLabel')
.Columns[1].GridLabel.Visible = .t.
.Columns[1].Sparse = .f.
.Columns[1].CurrentControl = 'GridLabel'
.Columns[1].ControlSource="test.mf"
.Columns[2].ControlSource="test.mf"
ENDWITH
.ShowTips = .t.
.Resize
EndWith
Procedure Resize
With this
.Grid.Width=.Width
.Grid.Height=.Height
EndWith
ENDDEFINE
DEFINE CLASS GridLabel AS container
Width = 50
Height = 25
BackStyle = 0
BorderWidth = 0
Name = "GridLabel"
ADD OBJECT Label1 AS Label WITH ;
Height = 25, ;
Width = 50, ;
Caption = "Label1", ;
Name = "Label1"
WordWrap = .t.
AutoSize = .f.
PROCEDURE backstyle_access
If !Empty(this.Parent.ControlSource)
this.Label1.Caption = Trim(Transform(Evaluate(this.Parent.ControlSource)))
Else
this.Label1.Caption = ""
EndIf
this.Label1.Width = this.Parent.Width
this.Label1.height = this.Parent.parent.RowHeight
RETURN THIS.BackStyle
ENDPROC
PROCEDURE Label1.MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
=this.Parent.backstyle
ENDPROC
ENDDEFINE
**************************************************


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

Сообщений: 18571
Дата регистрации: 16.05.2005
PaulWist

Код на коленке набрасывал, без фокса? ;)
Пару запятых все ж таки пропустил по ходу.
в
...
Name = "Label1" , ;
WordWrap = .t. , ;
AutoSize = .f.

Просто WordWrap без этой запятой там отлетает.
А AutoSize кстати при включенном WordWrap у Label в принципе и так как бы не работает, можно его даже и не трогать.

Ну а для наглядности переносов тестовое поле лучше было, мне кажется, с пробелами сразу показать, типа:
Insert into test values (REPLICATE(TRANSFORM(i),10)+' '+REPLICATE(TRANSFORM(i),10)+' '+REPLICATE(TRANSFORM(i),10))

А так, практически полностью готовый пример накидал, кому надо по-моему даже и пилить не надо.


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

Сообщений: 14614
Дата регистрации: 01.04.2004
Crispy
PaulWist

Код на коленке набрасывал, без фокса? ;)
Пару запятых все ж таки пропустил по ходу.

Код переделывал из GridButton под GridLabel copy-past, запустил - ошибок не дало, запостил, запятые действительно пропустил, и согласен, что Label.caption у тебя сформирован правильно.


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


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

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

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