For daypilot calendar control, how to display mon to fri instead of date on the column name

StackOverflow https://stackoverflow.com/questions/22467946

سؤال

enter image description here

enter image description here

currently mine only displays the date on the column name. I would want to display mon to fri which correpond to the correct date of course. Etc I want to display mon instead of 17/03/2014, I want to display tue instead of 18/03/2014 and so on. bumpss up

MY SOURCE

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="number2.aspx.cs" Inherits="number2" %>

<%@ Register assembly="DayPilot" namespace="DayPilot.Web.Ui" tagprefix="DayPilot" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link rel="stylesheet" href="stylesheets/style.css" type="text/css" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div style="text-align: center">

        <asp:Label ID="lblVenue" runat="server" 
            style="font-size: xx-large; font-weight: 700" Text="Label"></asp:Label>

        <daypilot:daypilotcalendar 
     id="DayPilotCalendar1" 
     runat="server" 
     DataStartField="eventstart" 
     DataEndField="eventend"
     DataTextField="name" 
     DataValueField="id" 
     Days="5" 
     OnEventMove="DayPilotCalendar1_EventMove" 
     EventMoveHandling="CallBack" BackColor="#0066FF" BusinessBeginsHour="8" 
            BusinessEndsHour="19" CssOnly="False" EventBackColor="#66FF99" 
            HourBorderColor="Lime" HourHalfBorderColor="#0066FF" 
            HourNameBackColor="#6699FF" HourNameBorderColor="#0066FF" HoverColor="#0066FF" 
            NonBusinessBackColor="#0066FF" style="top: 0px; left: 0px"
     >
    </daypilot:daypilotcalendar>


    </div>
    </form>
</body>
</html>

MY CODE BEHIND

public partial class number2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblVenue.Text = Session["roomvalue"] != null ? Session["roomvalue"].ToString() : "";

        if (!IsPostBack)
        {
            DayPilotCalendar1.StartDate = DayPilot.Utils.Week.FirstWorkingDayOfWeek(new DateTime(2014, 03, 17));
            DayPilotCalendar1.DataSource = dbGetEvents(DayPilotCalendar1.StartDate, DayPilotCalendar1.Days);
            DataBind();
        }
    }


        private DataTable dbGetEvents(DateTime start, int days)
    {
        SqlDataAdapter da = new SqlDataAdapter("SELECT [id], [name], [name2], [eventstart], [eventend] FROM [event] WHERE NOT (([eventend] <= @start) OR ([eventstart] >= @end))", ConfigurationManager.ConnectionStrings["projectConnectionString"].ConnectionString);
        da.SelectCommand.Parameters.AddWithValue("start", start);
        da.SelectCommand.Parameters.AddWithValue("end", start.AddDays(days));
        DataTable dt = new DataTable();
        da.Fill(dt);
        return dt;
    }
}

@Xenolightning dun hav the event that u mention

enter image description here

هل كانت مفيدة؟

المحلول

Looking at their Online Documentation, there is an extension event BeforeHeaderRender that you can subscribe to. Here you can change the column header label. See their example here

protected void DayPilotCalendar1_BeforeHeaderRender(object sender, BeforeHeaderRenderEventArgs e)
{
    e.Html += e.Date.ToString('dddd');
}

EDIT:

Actual solution:

Setting the property DayPilotCalendar.HeaderDateFormat to dddd changes it to "monday, Tuesday..."

نصائح أخرى

In the calendar control, set

HeaderDateFormat="dddd"

This will then show day names only

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top