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

Тема в разделе "Lotus - Программирование", создана пользователем NetWood, 15 июн 2008.

  1. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Штатно не проблема сделать
    <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/apps/htmlareas.nsf/calendar
    (http://codestore.net/store.nsf/unid/DOMT-769U33/$file/butter.zip)
    Там надо агент перетачивать с календаря на просто вьюху с заданным количеством колонок. Еще способы проще есть?
     

    Вложения:

    • tabliza41.gif
      tabliza41.gif
      Размер файла:
      1,6 КБ
      Просмотров:
      23
  2. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    В общем переточил агент в указанной базке.
    В форме поле HTMLTable заполняется агентом WQO с классом HTMLArea ==
    В агенте
    Код (Text):
    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 КБ
      Просмотров:
      11
Загрузка...

Поделиться этой страницей