0

Active Server Page を作成しました。ホワイエディスプレイで実行されています。ASP は、そのディスプレイに会議を表示しています。表示する会議を 10 件に制限しました。一度に 5 ~ 6 件の会議を表示できます。私が望むのは、ディスプレイが最初の 6 つのミーティングでいっぱいになった場合、ディスプレイは最後の 4 つのミーティングを表示する 2 番目のページに「変更」する必要があるということです。これは 10 秒ごとに発生するはずです。最初の 6 回の会議で 10 秒、4 回の会議で 10 秒など。どうやってやるの?

これまでの私のコード:

<table cellpadding="0" style="table-layout:fixed;width:800px;">
<tr height="15"> <td colspan="6" class="underline"></td> </tr>
     <colgroup>
    <col  style="width:830px" >
  </colgroup>
    <tr><td> </td></tr>
 </table>

<table cellpadding="0" border = "1" style="background-color:white; dotted black;border-collapse:collapse;table-layout:fixed;width:1270px;">


  <colgroup>
    <col  style="width:445px" >
    <col  style="width:275px" >
    <col  style="width:125px" >
    <col  style="width:125px" >
    <col  style="width:150px" >
    <col  style="width:150px" >
  </colgroup>

  <br></br>

  <tr style="background-color:blue; height="50">
                    <th align="left">Seminartitel</th> 
                    <th align="left">Zusatz-Info</th> 
                    <th align="absmiddle">von</th> 
                    <th align="absmiddle">bis</th> 
                    <th align="absmiddle">Gebäude</th> 
                    <th align="absmiddle">Raum</th> 

  </tr>
<%
set rs=Server.CreateObject("ADODB.recordset")
set rsRaum=Server.CreateObject("ADODB.recordset")

rs.Open "select distinct buchung_id, von, bis, abteilung, veranstalter, THEMA, THEMA_ENABLED " & _
        "  from RESERVIERUNGRAUM r  " & _
        "      ,BUCHUNG b  " & _
        " where r.BUCHUNG_ID = b.ID " & _
        "   and von >= convert(date, getdate(), 4) " & _
        "   and von < convert(date, dateadd(day,1, GETDATE()), 4) " & _
        "   and BIS >= getdate() " & _
        "   and STORNO is null  " & _
        " order by von, bis" _
       ,objConn 

' Anzahl der darzustellenden Veranstaltungs-Zeilen
lineMax = 10
lineCount = 1
color = "color1"
do until rs.EOF

  ' Buchungen anzeigen oder nicht

  rsRaum.open "select DISPLAY_ENABLED from Buchung where ID = " & rs("buchung_id"), objConn
            displayanzeige = rsRaum("DISPLAY_ENABLED")
  rsRaum.close



  ' Hole für lfd. Buchung aus erster Reservierung Raum ID und Indikator für Kopplung 
  rsRaum.open "select raum_id, KOPPELBESTUHLUNG_ID from RESERVIERUNGRAUM where buchung_id = " & rs("buchung_id"), objConn
        raum_id = rsRaum("raum_id")
        KOPPELBESTUHLUNG_ID = rsRaum("KOPPELBESTUHLUNG_ID")
  rsRaum.close

   'Gebäude

  rsRaum.open      "select distinct g.BEZEICHNUNG " & _
                   "from GEBAEUDE g, ETAGE e, RAUM r " & _
                   "Where g.ID = e.GEBAEUDE_ID and e.GEBAEUDE_ID = r.GEBAEUDE_ID and r.ID = " & raum_id, objConn

                   GebaeudeBezeichnung = rsRaum("BEZEICHNUNG")

  rsRaum.close

  'Hole Terminal Hinweistext

  rsRaum.open    "select KSTR from Buchung where ID = " & rs("buchung_id"), objConn

                Hinweistext = rsRaum("KSTR")

  rsRaum.close


  ' falls Kopplung, hole ID des "Parent"-Raumes
  if not isNull( KOPPELBESTUHLUNG_ID ) then
    rsRaum.open "select parent_id from KOPPELN where CHILD_ID = " & raum_id, objConn
          if not rsRaum.EOF then
            raum_id = rsRaum("parent_id")
          end if
    rsRaum.close
  end if

  ' hole Raum Details
  rsRaum.open "select bezeichnung from Raum where ID = " & raum_id, objConn

      raumname = rsRaum("bezeichnung")

  rsRaum.close

  ' Beende, falls Display voll
  If lineCount > lineMax Then
    exit do
  End If 


  ' optionale Unterdrückung der Titelanzeige
  if ucase( rs("thema_enabled") ) = "Y" or isnull(rs("thema_enabled")) then
    thema = rs("thema")
  else
    thema = ""
  end if




  if ucase(displayanzeige) = "Y" or isnull(displayanzeige) then
%>
  <tr "margin-bottom:100px" height="70" valign="top">
    <td style="overflow:hidden;" class="<% =color%>"><% =thema %></td>
    <td class="<% =color%>"><% =Hinweistext %></td>
    <td align="center"; class="<% =color%>"><% =FormatDateTime( rs("von"), 4)%></td>
    <td align="center"; class="<% =color%>"><% =FormatDateTime( rs("bis"), 4) %></td>
    <td align="center"; class="<% =color%>"><% =GebaeudeBezeichnung %><br></td>
    <td align="center"; class="<% =color%>"><% =raumname %><br></td>
  </tr>
<%  

    ' jede zweite Zeile mit anderer Schriftfarbe

  If lineCount mod 2 = 1 Then
    color = "color2"
  Else
    color = "color1"
  End If
  lineCount = lineCount + 1


  end if
  rs.moveNext

loop
rs.close 
%>

コードを変更するにはどうすればよいですか?

4

1 に答える 1

1

複製ページを作成し、現在のページからのようにパラメーター(GETまたはPOST)をそのページに渡します。これが4で、現在のページを次のように変更します。RemainingItemsRemainingItems

If lineCount > lineMax Then

することが:

If lineCount > firstPageItems Then

明らかに:

lineMax = firstPageItems + RemainingItems

ページを切り替えるには、特定の間隔で、両方のページでJavaScriptタイマーを使用する必要があります。時間が経過したら、クライアントを他のページにリダイレクトします(各ページは他のページのアドレスを知っています)。

1ページですべての作業を行うことは可能ですが、より多くの作業が必要なため、質問によると、これをお勧めします。

于 2012-11-06T21:34:31.253 に答える