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

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

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

Цвет границ таблицы. Проблемы с Notesrichtextnavigator

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
Всем привет!
Может кто знает... как установить свой цвет границ ячеек таблицы?
Никаких DXL
 
Это?
NotesRichTextTable.SetAlternateColor(NotesColorObject)

Хотя нет, не это....
 
Стандартными LotusScript классами невозможно, насколько я помню.
 
А случаем не в Body каком-нибудь требуется таблицу построить? А то ж можно html-тегами разрисовать...
 
про html знаю. :(
не подходит
Ладно. Оставлю черную :)
 
Создать документ-шаблон с РТФ полем, в нем руками нарисовать табличку и поставить цвет границ какой надо.

Затем в коде брать этот шаблон и из него копировать эту таблицу. Ну и дальше с таблицей работать как нужно.
 
K-Fire, на сколько я понимаю.... скопировать отдельно таблицу не получится.... только все поле целиком?
 
Да... можно... даже получается копировать... НО какая-то фигня получается
Есть вот такой метод (точнее уже обрезок).... в общем не получается "найти" таблицу... доходит до сообщения Messagebox "Body item does not contain a table,",, "Error"
Код:
	Public Sub Draw
Dim table As NotesRichTextRange
Dim rtNav As NotesRichTextNavigator
Dim rtTable As NotesRichTextTable

Dim numRows As Integer
Dim rowNum As Integer
Dim cols As Variant
Dim colNum As Integer

If Not Isarray(Me.rows) Then Exit Sub

Set rtNav = Me.body.createNavigator
'		Set table = Me.body.createRange

If Not rtnav.FindFirstElement(RTELEM_TYPE_TABLE) Then
Messagebox "Body item does not contain a table,",, _
"Error"
Exit Sub
End If

Set rtTable = rtNav.GetElement

'		Call table.setBegin( rtTable)
'		Call rtNav.setPosition(table)
Call rtNav.FindNthElement( RTELEM_TYPE_TABLECELL, rtTable.ColumnCount )		

For rowNum = 0 To Ubound(Me.rows)
cols = Me.rows(rowNum)

For colNum = 0 To (Me.colCount-1)
Call rtNav.FindNextElement( RTELEM_TYPE_TABLECELL )

Call Me.body.BeginInsert( rtNav )
Call Me.body.AppendText( cols( colNum ) ) 	
Call Me.body.endInsert

Next
Call rtTable.AddRow( 1, 2 )
Next

If Isarray(Me.rows) Then Erase Me.rows
Me.rows = ""
Me.colCount = 0
End Sub
 
Всем спасибо! Разобрался сам!
Проблема оказалась не в коде, а в таблице! Поле с таблицей-шаблоном было в таблице. Пришлось вынести поле на форму
 
Лотус не суппортит nested таблицы.
Блин, я помню кучу времени потерял, пока разобрался с этим, правда, это было давненько :)
 
Хех, ведь когда писал свое 1ое сообщение, была мысля предупредить насчет nested-таблиц. Оказалось что напрасно поленился, мог бы сэкономить тебе полдня :)
 
K-Fire
самое интересное, что пол года назад на скорую руку реализовал рисование таблиц.... только коряво и криво... сейчас решил причесать... чуть расческу не поломал :o
 
так... очередная проблема. Рисую таблицу методом копирования шаблона и дописывания нужного количества строк.
Рисует хорошо... но вот какой бок вышел - все данные в таблице пишутся болдом! :(
Хотя я свойство bold не устанавливал!!!
Поле, в котором рисую, создается на ходу. Но стоит после рисования удалить таблицу и перерисовать - то все получается как надо.
Такое впечатление что стили шрифта наследуются откуда-то из формы. а вот где не понят. И не понимаю как это победить :(
 
NickProstoNick
А если в начале ткнуть ApplyRTStyle котроый не Bold?
 
Победил!!! Все нормально! Оказалось все надально.... таблице-шаблоне как-то затесался параграф с болдом :(

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

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