c# - Asp.net Calendar How to -


i have question project working on calendar can put comment special day / year

i'm using atm asp.net calendar control.

here image of idea:

http://i.stack.imgur.com/aksk9.jpg

here markup code:

<%@ page language="c#" autoeventwireup="true"  masterpagefile="~/calender.master" codefile="calender.aspx.cs" inherits="_default" %>  <asp:content id="headercontent" runat="server" contentplaceholderid="headcontent"> </asp:content>  <asp:content id="bodycontent" runat="server" contentplaceholderid="maincontent"> <form id="form1" runat="server"> <asp:scriptmanager id="sm1" runat="server" /> <asp:updatepanel id="up1" runat="server">     <contenttemplate>         <asp:calendar id="calendar1" showgridlines="true" cellpadding="15"  runat="server"             ondayrender="calendar1_dayrender"  onselectionchanged="calendar1_selectionchanged  ">              </asp:calendar>         <br />         <asp:formview id="formview1" runat="server" allowpaging="true"             datakeynames="date" datasourceid="todosrc" defaultmode="edit">             <edititemtemplate>                 <asp:label id="lbltodo" runat="server" associatedcontrolid="txttodo" text="afspraak:" />                 <br />                 <asp:textbox id="txttodo" runat="server" textmode="multiline" columns="30" rows="5"                     text="<%# bind('todo') %>"></asp:textbox>                     <br /><br />                  <asp:linkbutton id="butupdate" runat="server" text="update" commandname="update" />             </edititemtemplate>             <insertitemtemplate>                 <asp:label id="lbltodo" runat="server" text="toevoegen:" associatedcontrolid="txttodo" />                 <br />                 <asp:textbox id="txttodo" runat="server" text="<%# bind('todo') %>" textmode="multiline"                     columns="30" rows="5" />                 <br />                 <asp:button id="butinsert" runat="server"  text="add" commandname="insert" />             </insertitemtemplate>         </asp:formview>         <br />         <asp:button id="butaddnew" runat="server" text="toevoegen" onclick="butaddnew_click" />     </contenttemplate> </asp:updatepanel>  <selectparameters> <asp:sqldatasource id="todosrc" runat="server" connectionstring="<%$ connectionstrings:stefan %>"     deletecommand="delete calender date=@date" insertcommand="insert calender (date,todo) values (@date,@todo)"     selectcommand="select * calender date=@date" updatecommand="update calender set todo=@todo date=@date">     <selectparameters>         <asp:controlparameter name="date" controlid="calendar1" propertyname="selecteddate" />     </selectparameters>     <insertparameters>         <asp:controlparameter name="date" controlid="calendar1" propertyname="selecteddate" />     </insertparameters> </asp:sqldatasource> <asp:sqldatasource id="calendarsrc" runat="server" connectionstring="<%$ connectionstrings:stefan %>"     selectcommand="select date calender"></asp:sqldatasource>     </form> </asp:content> 

and here codebehind cs file

using system; using system.configuration; using system.data; using system.linq; using system.web; using system.web.security; using system.web.ui; using system.web.ui.htmlcontrols; using system.web.ui.webcontrols; using system.web.ui.webcontrols.webparts; using system.data.sqlclient; using system.collections;  public partial class _default : system.web.ui.page {       dataview todo = new dataview();      protected void page_load(object sender, eventargs e)     {          if (calendar1.selecteddate == datetime.minvalue)             calendar1.selecteddate = calendar1.todaysdate;     }       void page_prerender()     {         todo = (dataview)calendarsrc.select(datasourceselectarguments.empty);         todo.sort = "date";       }      protected void calendar1_dayrender(object sender, dayrendereventargs e)     {         if (todo.findrows(e.day.date).length > 0)             e.cell.backcolor = system.drawing.color.aqua;      }      protected void calendar1_selectionchanged(object sender, eventargs e)     {         formview1.changemode(formviewmode.edit);      }      protected void butaddnew_click(object sender, eventargs e)     {         formview1.changemode(formviewmode.insert);       }   } 

do want text directly in cell of target day?

use ondayrender method have add literal control:

protected void calendar1_dayrender(object sender, dayrendereventargs e) {     if (todo.findrows(e.day.date).length > 0)         e.cell.backcolor = system.drawing.color.aqua;      if (e.day.date.day == 18)         e.cell.controls.add(new literalcontrol("<br />test show on calendar.")); } 

good luck,

patrick


Comments

Popular posts from this blog

c# - How to set Z index when using WPF DrawingContext? -

razor - Is this a bug in WebMatrix PageData? -

visual c++ - Using relative values in array sorting ( asm ) -