ну, я сделал объект для datawindow, в котором я сделал имя столбца как возраст возраста возраста и т. Д. Эта таблица не существует в базе данных и во время проектирования объекта datawindow у меня есть выбранный внешний стиль как объект dw. поэтому нет, что на самом деле я хочу сделать, это вставить данные, используя скрипт в этой колонке. для вставки строки i просто используется Datawindowcontrol.insertrow (строка) в событии с заменой элемента datawindow. но он просто добавляет строку, в которой я хочу, чтобы данные туда вставлялись ... заранее за комментарии yor ...Как динамически вставлять данные в datawindow с помощью powerbuilder 12.5
0
A
ответ
0
Метод вставки только вставляет новую строку в элемент управления данными. Вам нужно будет заполнить его данными, если это ваше намерение. Простой пример кода заключается в следующем:
long ll_row
ll_row = dw_save.insertrow(0)
dw_save.setitem(ll_row, "name", dw_entry.getitemstring(1,"name"))
dw_save.setitem(ll_row, "gender", dw_entry.getitemstring(1, "gender))
выше предполагает, что вы есть запись данных DataWindow только с одной линией, и второй DataWindow, который будет сохранять данные в базу данных.
Вы должны изменить свой дизайн несколько, так как событие itemchanged запускается каждый раз, когда пользователь переходит из поля в поле в элементе управления datawindow.
0
хорошо это заявление отлично работает здесь ....
this.insertrow(1)
this.setitem(1,1,23)
this.setitem(1,2,today())
this.setitem(1,3,13.5)
this.insertrow(2)
this.setitem(2,1,25)
this.setitem(2,2,today())
this.setitem(2,3,14.5)
1
Альтернативная реализация с использованием ".object" запись (быстрее, чем GetItem/SetItem в последних версиях PB):
long newRow
newRow = this.RowCount() + 1
this.object.name[newRow] = dw_entry.object.name[1]
this.object.gender[newRow] = dw_entry.object.gender[1]
Да, вы могут использовать номера столбцов вместо имен, но вы создаете кошмар для обслуживания. Что произойдет, если вы измените пользовательский интерфейс окна данных? или добавить столбец позже? –