powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid
5 сообщений из 5, страница 1 из 1
Grid
    #32332233
Новичек_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В 8-ке как узнать какой базовый класс хидера
В ините формы
***Определяем данные для комбобокса(названия хидеров)
lcgg=THIS.Gridname && выясняем название грида
loGridname=&lcgg && делаем ссылку на объект

PUBLIC aHeaderCaption
n = m.loGridname.ColumnCount && количество столбцов в этом гриде
DIMENSION aHeaderCaption(m.n,3)
FOR i=1 TO m.n
***Определяем данные для комбобокса(названия хедеров)
lcgg=THIS.Gridname && выясняем название грида
loGridname=&lcgg && делаем ссылку на объект

PUBLIC aHeaderCaption
n = m.loGridname.ColumnCount && количество столбцов в этом гриде
DIMENSION aHeaderCaption(m.n,3)
FOR i=1 TO m.n
DO CASE
CASE m.loGridname.Columns .HeaderClass='Header'
aHeaderCaption(i,1) = m.loGridname.Columns.Header1.Caption
CASE m.loGridname.Columns.HeaderClass='MyHeader'
aHeaderCaption(i,1) = m.loGridname.Columns.MyHeader1.Caption
OTHERWISE
aHeaderCaption(i,1) = 'Нифига не нашел хидеров'
ENDCASE
aHeaderCaption(i,2) = m.loGridname.Columns.ControlSource
aHeaderCaption(i,3) = m.loGridname.Columns.Name

ENDFOR

А массив только 'Нифига не нашел хидеров'
несмотря на наличие и Header и MyHeader.
Если чего то не правильно делаю, подскажите как
...
Рейтинг: 0 / 0
Grid
    #32332234
Новичек_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, жует символы, читать так
В 8-ке как узнать какой базовый класс хидера
В ините формы
***Определяем данные для комбобокса(названия хидеров)
lcgg=THIS.Gridname && выясняем название грида
loGridname=&lcgg && делаем ссылку на объект

PUBLIC aHeaderCaption
n = m.loGridname.ColumnCount && количество столбцов в этом гриде
DIMENSION aHeaderCaption(m.n,3)
FOR i=1 TO m.n
***Определяем данные для комбобокса(названия хедеров)
lcgg=THIS.Gridname && выясняем название грида
loGridname=&lcgg && делаем ссылку на объект

PUBLIC aHeaderCaption
n = m.loGridname.ColumnCount && количество столбцов в этом гриде
DIMENSION aHeaderCaption(m.n,3)
FOR i=1 TO m.n
DO CASE
CASE m.loGridname.Columns(i).HeaderClass='Header'
aHeaderCaption(i,1) = m.loGridname.Columns(i).Header1.Caption
CASE m.loGridname.Columns(i).HeaderClass='MyHeader'
aHeaderCaption(i,1) = m.loGridname.Columns(i).MyHeader1.Caption
OTHERWISE
aHeaderCaption(i,1) = 'Нифига не нашел хидеров'
ENDCASE
aHeaderCaption(i,2) = m.loGridname.Columns(i).ControlSource
aHeaderCaption(i,3) = m.loGridname.Columns(i).Name

ENDFOR

А массив только 'Нифига не нашел хидеров'
несмотря на наличие и Header и MyHeader.
Если чего то не правильно делаю, подскажите как
...
Рейтинг: 0 / 0
Grid
    #32332276
FOR EACH loCtl IN GRID.COLUNS(I)
IF UPPE(loCtl.BaseClass)='HEADER'
&& loCtl - Header
ENDIF
ENDFOR
...
Рейтинг: 0 / 0
Grid
    #32333429
Новичек_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ, но вот так не работает
я ж новичек, подскажите подробненько так...
С английским проблемы, такой команды не знаю.
попробовал так:

***Определяем данные для комбобокса(названия хедеров)
*Это у нас так в свойство прписывается в классе THIS.Gridname="thisform.grid1"
lcgg=THIS.Gridname && выясняем название грида
loGridname=&lcgg && делаем ссылку на объект

PUBLIC aHeaderCaption
n = m.loGridname.ColumnCount && количество столбцов в этом гриде
DIMENSION aHeaderCaption(m.n,3)
FOR i=1 TO m.n
LOCAL loCtl
FOR EACH loCtl IN m.loGridname.COLUMNS(I)
IF UPPER(loCtl.BaseClass)='MYHEADER'
aHeaderCaption(i,1) = m.loGridname.Columns(i).MyHeader1.Caption
ELSE
aHeaderCaption(i,1) = m.loGridname.Columns(i).Header1.Caption
ENDIF
ENDFOR

aHeaderCaption(i,2) = m.loGridname.Columns(i).ControlSource
aHeaderCaption(i,3) = m.loGridname.Columns(i).Name

ENDFOR
...
Рейтинг: 0 / 0
Grid
    #32333636
* Примерно так:
LOCAL loCol,loCtl,I
This.Gridname="thisform.grid1"
I=This.Gridname
loGridname=&I

PUBL aHeaderCaption(loGridname.ColumnCount,3)
FOR I=1 TO loGridname.ColumnCount
loCol=loGridname.Columns(I)
FOR EACH loCtl IN loCol.Controls
IF UPPER(loCtl.BaseClass)=='HEADER'
&& IF UPPER(loCtl.ParentClass)=='MYHEADER'
aHeaderCaption(I,1) = loCtl.Caption
ENDIF
ENDFOR

aHeaderCaption(I,2) = loCol.ControlSource
aHeaderCaption(I,3) = loCol.Name
ENDFOR
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Grid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]