如何配置Ext.NET日历控件?

时间:2011-01-14 06:02:40

标签: asp.net calendar extjs ext.net

我尝试配置Ext.NET asp.net日历控件来查看我自己的事件,但我不知道该怎么做?此外,Ext.NET Events类有自己的字段,但我需要将自己的字段用于查看日历控件。 例如: leaveId,leavetype,leaveReason,from,To等。

我怎样才能做到这一点?任何ext.net框架的专家都请回复。

1 个答案:

答案 0 :(得分:1)

配置Ext.NET日历很容易,但是如果你给它包含Ext提供的EventCollection对象中包含的事件,那么只需要花时间理解日历是否有效。

以下是返回日历事件的Web服务方法示例。

[WebMethod]
public EventCollection GetEvents(DateTime start, DateTime end)
    {
        EventCollection results = new EventCollection();
        //....Fill the collection here.....
        return results;
    }

在页面上你需要这样的东西:

<ext:ResourceManager ID="ResourceManager1" runat="server" Theme="Gray" />
<ext:Viewport ID="Viewport1" runat="server" Layout="Border">
    <Items>
        <ext:Panel runat="server" Width="176" Region="West" Border="false">
            <Items>
                <ext:DatePicker ID="dtpCurrentDate" runat="server">
                    <Listeners>
                        <Select Fn="setStartDate" />
                        <BeforeRender Handler="this.showPrevMonth = this.showPrevMonth.createSequence(HighlightPostDates);this.showNextMonth = this.showNextMonth.createSequence(HighlightPostDates);this.onMonthClick = this.onMonthClick.createSequence(HighlightPostDates);" />
                    </Listeners>
                </ext:DatePicker>
            </Items>
        </ext:Panel>
        <ext:CalendarPanel runat="server" ID="pnlCalendar" Region="Center" >
        <MonthView runat="server"></MonthView>
        <WeekView runat="server"></WeekView>
        <DayView  runat="server"></DayView>
            <GroupStore runat="server" ID="storeGroups">
                <Groups>
                    <ext:Group CalendarId="1" Title="Event Type 1" />
                    <ext:Group CalendarId="2" Title="Event Type 2" />
                </Groups>
            </GroupStore>
            <EventStore ID="EventStore1" runat="server" DateFormat="M$" ShowWarningOnFailure="false">
                <Proxy>
                    <ext:HttpProxy Json="true" />
                </Proxy>
                <Reader>
                    <ext:JsonReader Root="d" />
                </Reader>
                <BaseParams>
                    <ext:Parameter Name="start" Value="" Mode="Value" />
                    <ext:Parameter Name="end" Value="" Mode="Value" />
                </BaseParams>
                <Listeners>
                    <Load Fn="HighlightPostDates" />
                </Listeners>
            </EventStore>
        </ext:CalendarPanel>
    </Items>
</ext:Viewport>

在你背后的代码中,你可以通过以下方式连接:

((HttpProxy)this.pnlCalendar.EventStore.Proxy.Proxy).Url = "Method URL...";
            ((HttpProxy)this.pnlCalendar.EventStore.Proxy.Proxy).Method = HttpMethod.POST;