• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Простая таблица на форме

dimat

Well-known member
31.07.2008
508
0
BIT
0
Есть простая таблица на форме(2 строки 2 столбца, к примеру).
Меня интересуют 2 вопроса:
1. Возможно ли программно на LS добавить к этой таблице строку/столбец?
2. Возможно ли, опять же программно на LS, добавить текст на форму в указанную ячейку?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
dimat
на оба вопроса скажу ВОЗМОЖНО :)
сильно вам это помогло? :)
 
A

Akupaka

dimat
а тебе что нужно, чтобы на всех документах, которые по форме отображаются, отображалась одинаковая таблица?
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Простите, не правильно сформулировал.
Вобщем задача у меня такая: нужно на форме документа формировать таблицу с н-ым количеством строк. С помощью чего это можно реализовать?
П.С.: Внедренное представление не подходит
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
может, все-таки, в документе?
именно так :)
самое простое - отрисовать таблицу в RT-поле с пом класса NotesRichTextTable

Т.е. сначала нужно сформировать таблицу в переменной(var) типа NotesRichTextTable, затем RT полю каким то образом присвоить(doc.ReplaseItemValue("FieldName",var) ?) значение этой переменной?
 
A

Akupaka

а если не угадывать, а почитать сначала в справке? :) а еще там есть примеры.
работать с таблицами в РТ глючно, но можно.
сначала добавляется таблица, потом с пом навигатора NotesRichTextNavigator ее можно заполнить
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Akupka, что то плохо у меня получается с этим :) , если не сложно, можешь какойнить примерчик небольшой написать?
 
A

Akupaka

можешь какойнить примерчик небольшой написать?
ну дык есть в хелпе, вот, к примеру:

Код:
This view action creates a basic auto-width table of 4 rows and 3 columns, and populates it.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
REM Create document with Body rich text item
Dim doc As New NotesDocument(db)
Call doc.ReplaceItemValue("Form", "Main topic")
Call doc.ReplaceItemValue("Subject", "Table 4 x 3")
Dim body As New NotesRichTextItem(doc, "Body")
REM Create table in Body item
rowCount% = 4
columnCount% = 3
Call body.AppendTable(rowCount%, columnCount%)
REM Populate table
Dim rtnav As NotesRichTextNavigator
Set rtnav = body.CreateNavigator
Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL) 
For iRow% = 1 To 4 Step 1
For iColumn% = 1 To 3 Step 1
Call body.BeginInsert(rtnav)
Call body.AppendText("Row " & iRow% & ", Column " & iColumn%)
Call body.EndInsert
Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
Next
Next
REM Save document and refresh view
Call doc.Save(True, False)
Dim ws As New NotesUIWorkspace
Call ws.ViewRefresh
End Sub

а что именно не получается?
 
K

Klido

dimat
предложили же хелп открыть... эт онетрудно :)

Examples: NotesRichTextTable class
This agent creates a document, creates a table in a rich text item in the document, saves the document, then gets the table and displays its properties.
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
это не трудно, но я ж сказал плохо получается разобратся, LS плохо знаю
 
N

nvyush

Вобщем задача у меня такая: нужно на форме документа формировать таблицу с н-ым количеством строк. С помощью чего это можно реализовать?
П.С.: Внедренное представление не подходит

Java-апплет: альтернатива встроенному представлению:
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Код:
	Dim rc As Integer, cc As Integer
rc=2
cc=2
Dim b1 As New NotesRichTextItem(docur, "b1")
Call b1.AppendTable(rc, cc)
Dim rtnav As NotesRichTextNavigator
Set rtnav = b1.CreateNavigator
Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL) 
For iRow% = 1 To rc
For iColumn% = 1 To cc
Call b1.BeginInsert(rtnav)
Call b1.AppendText("Row " & iRow% & ", Column " & iColumn%)
Call b1.EndInsert
Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
Next
Next


Код выполняется по нажатию на кнопку, после выполнения поле b1 остается пустым, что не так делаю?
 
A

Akupaka

Код выполняется по нажатию на кнопку, после выполнения поле b1 остается пустым, что не так делаю?
"мама, вроди меня обратно"
изменения в RT-полях не происходят на UI, документ надо перегружать/переоткрывать.
вот пример https://codeby.net/threads/29669.html
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Akupaka, Спасибо, все получилось...
Еще вопрос: как програмно создать ссылку на документ?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!