• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Календарное отображение Webview

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Штатно не проблема сделать
<table>
$$ViewBody (<tr><td>.doc.</td></tr>)
</table>

Требуется сделать "календарное" отображение в WEB. Вот так
<table>
<tr>
<td>.doc.</td>
<td>.doc.</td>
<td>.doc.</td>
</tr>
<tr>

<td>.doc.</td>
<td>.doc.</td>
<td>.doc.</td>
</tr>
</table>
Вот вопрос, есть ли способы без агента по WQO сформировать табличку. Собственно проблема в переходе </td></tr><tr><td>
Нашел пока из примеров только
(http://codestore.net/store.nsf/unid/DOMT-769U33/$file/butter.zip)
Там надо агент перетачивать с календаря на просто вьюху с заданным количеством колонок. Еще способы проще есть?
 

Вложения

  • tabliza41.gif
    tabliza41.gif
    1,6 КБ · Просмотры: 519

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
В общем переточил агент в указанной базке.
В форме поле HTMLTable заполняется агентом WQO с классом HTMLArea ==
В агенте
Код:
Sub Initialize
On Error Goto erroroutine

REM **************************************************
REM Define temporary variables
REM **************************************************
Dim web As New WebSession()

Dim vDocCollection As NotesDocumentCollection

'Get a handle on the fields to "print" to
Dim HTMLTable As New HTMLArea("HTMLTable")

Dim mnth As String, yr As String, first As String, out As String
Dim dToday As NotesDateTime, dDay As Notesdatetime
Dim fills As Integer, i As Integer
Dim table As Integer, rows As Integer, row As Integer '' ==== количество ячеек
Dim rowclosed As Boolean

REM **************************************************
REM Initialize variables
REM **************************************************

Set vCalView = web.database.GetView("Table")

Set dToday = New NotesDateTime(Today)
Set dDay = New NotesDateTime( web.document.DateMonthBegan(0) )


REM **************************************************
REM Do stuff here
REM **************************************************

out = |<tr>| & NEW_LINE
table = 12 '' Это количество ячеек врукопашную
rowclosed = True

'Loop all table and display entries.
Do
If rowclosed Then
rows = 3 '' Это количество КОЛОНОК тоже ручками
out = "<tr>"
rowclosed=False
Else
out = ""
End If

''		out = out +| <td id="cell_|+Replace(dDay.DateOnly, "/", "")+|" ondblclick="DEXT.Calendar.addEntry(event, '|+dDay.DateOnly+|')"|
out = out +| <td |

'Highlight if 
If ( rows = 1) Then
out = out +| class="today"|
Else
out = out +| class="weekend"|
End If

out = out +|><span class="date">|+Cstr(table)+|</span>|+NEW_LINE
out = out + getAllEntriesForDate(Cstr(table))

out = out & |</td>|

'is it the end of a row?
If (rows = 1) Then		
out = out & |</tr>|
rowclosed=True 'Next loop knows whether to start a new one.
End If

'' заполнение поля таблицей
HTMLTable.add out 

table = table -1
rows = rows -1			
Loop Until (table = 0)

Exit Sub
erroroutine:
Msgbox Error + " - " + Cstr(Erl)
End Sub
На выходе получаем искомое :) Надо следить чтоб количество ячеек было кратно колонкам.
 

Вложения

  • butter.zip
    149,2 КБ · Просмотры: 110
Мы в соцсетях:

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