• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы dimat
  • Дата начала Дата начала

dimat

Well-known member
31.07.2008
508
0
Есть простая таблица на форме(2 строки 2 столбца, к примеру).
Меня интересуют 2 вопроса:
1. Возможно ли программно на LS добавить к этой таблице строку/столбец?
2. Возможно ли, опять же программно на LS, добавить текст на форму в указанную ячейку?
 
dimat
на оба вопроса скажу ВОЗМОЖНО :)
сильно вам это помогло? :)
 
dimat
а тебе что нужно, чтобы на всех документах, которые по форме отображаются, отображалась одинаковая таблица?
 
Простите, не правильно сформулировал.
Вобщем задача у меня такая: нужно на форме документа формировать таблицу с н-ым количеством строк. С помощью чего это можно реализовать?
П.С.: Внедренное представление не подходит
 
может, все-таки, в документе?
именно так :)
самое простое - отрисовать таблицу в RT-поле с пом класса NotesRichTextTable

Т.е. сначала нужно сформировать таблицу в переменной(var) типа NotesRichTextTable, затем RT полю каким то образом присвоить(doc.ReplaseItemValue("FieldName",var) ?) значение этой переменной?
 
а если не угадывать, а почитать сначала в справке? :) а еще там есть примеры.
работать с таблицами в РТ глючно, но можно.
сначала добавляется таблица, потом с пом навигатора NotesRichTextNavigator ее можно заполнить
 
Akupka, что то плохо у меня получается с этим :) , если не сложно, можешь какойнить примерчик небольшой написать?
 
можешь какойнить примерчик небольшой написать?
ну дык есть в хелпе, вот, к примеру:

Код:
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

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

Java-апплет: альтернатива встроенному представлению:
 
Код:
	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 остается пустым, что не так делаю?
 
Код выполняется по нажатию на кнопку, после выполнения поле b1 остается пустым, что не так делаю?
"мама, вроди меня обратно"
изменения в RT-полях не происходят на UI, документ надо перегружать/переоткрывать.
вот пример https://codeby.net/threads/29669.html
 
Akupaka, Спасибо, все получилось...
Еще вопрос: как програмно создать ссылку на документ?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab