powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Номер колонки по имени объекта
11 сообщений из 11, страница 1 из 1
Номер колонки по имени объекта
    #36033461
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, как получить НОМЕР КОЛОНКИ(НЕ ID) по имени расчетного или текстового поля в dw grid?
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36033916
dvvarna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dakota97,

Находите кол-во колонок в DW

Код: plaintext
1.
string ls_colcount
ls_colcount = dw_1.Object.DataWindow.Column.Count

Перебираете колонки по номерам, пока не наткнётесь на нужное имя

Код: plaintext
dw_1.Object.# 4 .Name
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36033967
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvvarnadakota97,

Находите кол-во колонок в DW

Код: plaintext
1.
string ls_colcount
ls_colcount = dw_1.Object.DataWindow.Column.Count

Перебираете колонки по номерам, пока не наткнётесь на нужное имя

Код: plaintext
dw_1.Object.# 4 .Name


У меня так не получается

Код: plaintext
1.
string ls_colcount
ls_colcount = dw_1.Object.DataWindow.Column.Count
Вернет количество колонок которые из БД, а колонки с расчетными полями не посчтиет

Код: plaintext
dw_1.Object.# 4 .Name
[/quot]
Я так понимаю что к расчетным полям так обращаться нельзя(по крайней мере у меня не получилось), можно только через имя
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36033979
dvvarna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот так сподручней

Код: plaintext
dw_1.Describe("#4.Name")
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36033989
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvvarnaвот так сподручней

Код: plaintext
dw_1.Describe("#4.Name")

Попробуйте применить такую конструкцию к расчетному полю. Работает?
У меня нет!
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36033994
dvvarna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dakota97Вернет количество колонок которые из БД, а колонки с расчетными полями не посчтиет
Я так понимаю что к расчетным полям так обращаться нельзя(по крайней мере у меня не получилось), можно только через имя

Попробуйте вычисляемые колонки из DW перенести в базу(процедуру или результирующий SELECT)
Тогда они статнут псевдо-базовыми и такой метод сработает.
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36034000
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvvarnadakota97Вернет количество колонок которые из БД, а колонки с расчетными полями не посчтиет
Я так понимаю что к расчетным полям так обращаться нельзя(по крайней мере у меня не получилось), можно только через имя

Попробуйте вычисляемые колонки из DW перенести в базу(процедуру или результирующий SELECT)
Тогда они статнут псевдо-базовыми и такой метод сработает.
да ну!По моему не лучший вариант!
я лучше перепишу функции что бы они работали только с именами
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36034080
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97я лучше перепишу функции что бы они работали только с именами
Правильно.

А номер столбца в гриде можно узнать только отсортировав объекты по координате X и в цикле пройдясь до нужного (учитывая что X может повторяться).
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36034187
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97
Попробуйте "имя расчетного или текстового поля" увязать к именам столбцов.
Например, column1_f1 и column1_t1, ну и т.п.
А далее делайте как предлагает dvvarna перебором столбцов и проверкой наличия полей.
Например, так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
integer i, li_colcount
string ls_numcol

li_colcount = dw_1.Object.DataWindow.Column.Count

for i= 1  to li_colcount
       ls_numcol = string(i)
       dw_1.Describe( dw_1.Describe("#" + ls_numcol + ".Name") + "_f" + ls_numcol + ".Х")
next
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36034390
alexis glinski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы получить список всех объектов в dw можно воспользоваться свойством Objects:

Код: plaintext
1.
2.
3.
4.
5.
6.
PowerBuilder dot notation:

dw_control.Object.DataWindow.Objects

Describe argument:

"DataWindow.Objects"

оно вернёт список всех объектов разделенными табом (~t). А дальше уже при помощи .ColType можно узнать что это - column или computed field.

В PFC вообще просто - там есть dw_control.inv_Base.of_GetObjects :)
...
Рейтинг: 0 / 0
Номер колонки по имени объекта
    #36034696
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо
Буду переписывать функции на работу с именами
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Номер колонки по имени объекта
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (9): Анонимы (6), Yandex Bot, Bing Bot 2 мин., Google Bot 7 мин.
x
x
Закрыть


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