私がやっていることは、PDFファイルを作成し、今週の予約を返すことです。月曜日、木曜日、水曜日などに予約があります。予約を彼の日付に割り当てようとします。つまり、月曜日に予約がある場合、予約はその日に割り当てられる必要があります。木曜日の予約の場合は、火曜日の予約をその日付に割り当てます。
それを説明するには: WeeklyBPlan
写真でわかるように、Montag (月曜日) の予約が割り当てられ、Dienstag (木曜日) の予約が割り当てられます。
私の問題は、私のコードでは週の最初の日 (月曜日) のみが返され、すべての予約がその日付に割り当てられることです。
私の問題はwbp.WeekDay = strCurrDay
、私の .fo に何か問題があるのでしょうか?
誰でも私を助けることができますか?写真のように、どうすればやりたいことができますか?
Public Shared Function WeeklyBPlanPDFExport() As List(Of WeeklyBPlan)
Dim allBookings As List(Of WeeklyBPlan) = New List(Of WeeklyBPlan)
Dim s As StringBuilder = New StringBuilder
Dim kw As Integer = DatePart(DateInterval.WeekOfYear, Now, , FirstWeekOfYear.FirstFourDays)
If DatePart(DateInterval.Weekday, Now, Microsoft.VisualBasic.FirstDayOfWeek.Sunday) = 6 Then
kw = kw + 1
End If
Dim CurrDateFirstDay As Date = DateAdd(DateInterval.Day, 1, ReturnDateForWeekNumber(kw))
For i = 1 To 7
Dim strCurrDay As String = ""
strCurrDay = FormatDateTime(CurrDateFirstDay, DateFormat.LongDate)
CurrDateFirstDay = DateAdd(DateInterval.Day, 1, CurrDateFirstDay)
Dim strSQL As String = "SELECT d.SEATING, d.ROOMID, d.ID, d.PERSONS, d.ADDRESS+ ', ' + d.ROOMDESCRIPTION AS ROOMDESCRIPTION , d.EVENT, p.VN + ' ' + p.NN AS NAME, CONVERT (char(5), d.FROM, 108) + ' - ' + CONVERT (char(5), d.TO, 108) AS TIME, p.TEL FROM VIEW_RAUMBUCHUNG_DISPO AS d INNER JOIN PERSONAL AS p ON d.PERSONAL_ID = p.ID WHERE CONVERT(char, d.FROM, 104)='" & to_104(strCurrDay) & "'"
Dim objRS As SqlDataReader
Dim objRS2 As SqlDataReader
objRS = SQLrunReaderWB(strSQL)
If objRS.HasRows Then
While objRS.Read()
Dim wbp = New WeeklyBPlan
wbp.WeekDay = strCurrDay
wbp.Raum = objRS("ROOMDESCRIPTION")
wbp.Zeit = objRS("TIME")
If Not IsDBNull(objRS("EVENT")) Then
wbp.Thema = objRS("EVENT")
End If
If Not IsDBNull(objRS("NAME")) Then
wbp.Mieter = objRS("NAME")
End If
wbp.Personen = objRS("PERSONS")
wbp.Bestuhlung = objRS("SEATING")
allBookings.Add(wbp)
End While
End If
Next
ConnWB.Close()
Return allBookings
End Function
私のXSL-FO:
`
<!--this defines a title level 1 -->
<fo:block
line-height="24pt"
space-after.optimum="15pt"
padding-top="3pt">
<xsl:value-of select=".//WeekDay" />
</fo:block>
<!-- table start -->
<fo:table table-layout="fixed" border="solid" border-collapse="collapse" border-width="0.5pt">
<fo:table-column column-width="25mm"/>
<fo:table-column column-width="12mm"/>
<fo:table-column column-width="20mm"/>
<fo:table-column column-width="50mm"/>
<fo:table-column column-width="20mm"/>
<fo:table-column column-width="25mm"/>
<fo:table-column column-width="10mm"/>
<fo:table-column column-width="30mm"/>
<fo:table-column column-width="35mm"/>
<fo:table-column column-width="35mm"/>
<fo:table-header>
<fo:table-row>
<fo:table-cell>
<fo:block background-color="grey"
color="white" text-align="center">Room</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block background-color="grey"
color="white" text-align="center">Time</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block background-color="grey"
color="white" text-align="center">Event</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block background-color="grey"
color="white" text-align="center">Persons</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block background-color="grey"
color="white" text-align="center">Seating</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
</fo:table-row>
</fo:table-header>
<fo:table-body>
<xsl:for-each select=".//WochenBPlan">
<fo:table-row>
<fo:table-cell border-right-width="0.5pt" border-right-style="solid" border-bottom-width="0.5pt" border-bottom-style="solid" padding-right="6pt" padding-left="6pt" >
<fo:block font-family="Arial" font-size="9pt" padding="2pt">
<xsl:value-of select=".//Room" />
</fo:block>
</fo:table-cell>
<fo:table-cell border-right-width="0.5pt" border-right-style="solid" border-bottom-width="0.5pt" border-bottom-style="solid">
<fo:block font-family="Arial" font-size="9pt" padding="2pt" text-align="center">
<xsl:value-of select=".//Time" />
</fo:block>
</fo:table-cell>
<fo:table-cell border-right-width="0.5pt" border-right-style="solid" border-bottom-width="0.5pt" border-bottom-style="solid" padding-left="6pt" padding-right="6pt">
<fo:block font-family="Arial" font-size="9pt" padding="2pt" wrap-option="no-wrap" >
<xsl:value-of select=".//Event" />
</fo:block>
</fo:table-cell>
<fo:table-cell border-right-width="0.5pt" border-right-style="solid" border-bottom-width="0.5pt" border-bottom-style="solid">
<fo:block font-family="Arial" font-size="9pt" padding="2pt" text-align="center">
<xsl:value-of select=".//Persons" />
</fo:block>
</fo:table-cell>
<fo:table-cell border-right-width="0.5pt" border-right-style="solid" border-bottom-width="0.5pt" border-bottom-style="solid">
<fo:block font-family="Arial" font-size="9pt" padding="2pt" text-align="center">
<xsl:value-of select=".//Seating" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>
<!-- table end -->
<fo:block id="lastBlock"/>
</fo:flow>`
WeeklyBPlan クラス:
public class WochenBPlan
{
public WochenBPlan()
{
}
public string Raum { get; set; }
public DateTime Erstellt { get { return DateTime.Now; } set { } }
public string Zeit { get; set; }
public string Bereich { get; set; }
public string Thema { get; set; }
public string Mieter { get; set; }
public string Mieter_Tel { get; set; }
public string Personen { get; set; }
public string Bestuhlung { get; set; }
public string Bemerkung { get; set; }
public string Ausstattung { get; set; }
public string WochenTag { get; set; }
}