一款日期控件

控件

C#版:
using System;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.Collections.Specialized;
using System.Globalization;
using System.Reflection;
using System.Text;

[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("A QuickStart Tutorial Assembly")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft Corporation")]
[assembly: AssemblyProduct("Microsoft QuickStart Tutorials")]
[assembly: AssemblyCopyright(" Microsoft Corporation. All rights reserved.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.1.*")]

namespace Acme
{
public class Calendar : Control, IPostBackEventHandler, IPostBackDataHandler
{
private String[] monthNames = new String[12];
private DateTime currentDate = DateTime.Now;
private String backColor = "#dcdcdc";
private String foreColor = "#eeeeee";

protected override void OnInit(EventArgs E)
{
Page.RegisterRequiresPostBack(this);

currentDate = DateTime.Now;

monthNames[0] = "January";
monthNames[1] = "February";
monthNames[2] = "March";
monthNames[3] = "April";
monthNames[4] = "May";
monthNames[5] = "June";
monthNames[6] = "July";
monthNames[7] = "August";
monthNames[8] = "September";
monthNames[9] = "October";
monthNames[10] = "November";
monthNames[11] = "December";
}

protected override void LoadViewState(Object viewState)
{
// If we've done a post-back, the old date will be available to us

if (null != viewState)
{
currentDate = DateTime.Parse((String) viewState);
}
}

public void RaisePostBackEvent(String eventArgument)
{
//Page.Response.Write("RaisePostBackEvent Called!!!");

if (eventArgument == null)
{
return;
}

// Keep track of old date (for event firing purposes)

DateTime oldDate = currentDate;

if (String.Compare("NavNextMonth", eventArgument, true, CultureInfo.InvariantCulture) == 0)
{
currentDate = currentDate.AddMonths(1);
}
else if (String.Compare("NavPrevMonth", eventArgument, true, CultureInfo.InvariantCulture) == 0)
{
currentDate = currentDate.AddMonths(-1);
}
else
{
int daySelected = Int32.Parse(eventArgument);
currentDate = new DateTime(currentDate.Year, currentDate.Month, daySelected);
}
}

protected override Object SaveViewState()
{
// Save CurrentDate out as view state for postback scenarios

return currentDate.ToString();
}

protected override void Render(HtmlTextWriter output)
{
if ((Page.Request.UserAgent != null) &&
(Page.Request.Browser.Browser.ToUpper(CultureInfo.InvariantCulture).IndexOf("IE") > -1) &&
(Double.Parse(Page.Request.Browser.Version) >= 5.5))
RenderUpLevel(output);
else
RenderDownLevel(output);
}

protected void RenderUpLevel(HtmlTextWriter output)
{
output.WriteLine("<input name='" + UniqueID + "_CurrentDate' id='" + UniqueID + "_CurrentDate' type=hidden>");
output.WriteLine("<span id='" + UniqueID + "'></span>");
output.WriteLine("<script language=jscript>drawcalendar('" + UniqueID + "', '" + currentDate.Year.ToString() + "/" + current

时间: 2024-10-26 05:44:29

一款日期控件的相关文章

ajax-怎么根据日期控件里所选的值来显示不同日期的数据

问题描述 怎么根据日期控件里所选的值来显示不同日期的数据 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 无标题文档 $(function(){ $("#week ul a li").click(function(){ $("#we

jQuery带时间的日期控件代码分享_jquery

本文实例讲述了JS+CSS3实现的类似于苹果iwatch计时器特效.分享给大家供大家参考.具体如下: 带时间的jQuery日期控件代码是一款基于jQueryUI实现的,可自定义日期插件语言,这个日期控件的亮点就在于选择的时间可精确到分钟. 运行效果图:                    -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的jQuery带时间的日期控件代码如下 <h

一个类似于Calendar日期控件,不用再刷新页面。

1. 一个类似于Calendar日期控件,不用再刷新页面. 2. 判断文本控件里的值是否能转换成日期型. .htc 例1: /* *xpMask.htc * */ //------------------------------------------------------------------------------------------------------ <PUBLIC:COMPONENT lightWeight=false > <PUBLIC:DEFAULTS cont

改变 PropertyGrid 控件的编辑风格(1)——加入日期控件

控件 改变 PropertyGrid 控件的编辑风格(1)--加入日期控件   张昱e-zhangyu@vip.sina.com  效果: 适用场合: 编辑日期类型数据   步骤一:定义从UITypeEditor 派生的类,示例如下:   using System; using System.Windows.Forms; using System.Drawing.Design; using System.Windows.Forms.Design;   namespace blog.csdn.ne

在网页中实现像VB的日期控件那样的组件,一点击就弹出日历菜单。。。。(原创!)

在网页中实现像VB的日期控件那样的组件,一点击就弹出日历菜单....(原创!) 作者: 小白 点击链接查看作者详细信息 <HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"><TITLE>在网页上直接调用控件选择时间的演示效果</TITLE><SCRIPT LANGUAGE=javascript><

图片-怎么在选择时间时,让前面的单选按钮取消选中,而点击单选时,后边的日期控件回复为默认

问题描述 怎么在选择时间时,让前面的单选按钮取消选中,而点击单选时,后边的日期控件回复为默认 如图:怎么在选择时间时,让前面的单选按钮取消选中,而点击单选时,后边的日期控件回复为默认 解决方案 选中了哪个,记住它用一个变量,点击日期时,就让他取消勾选单选的点击动作你是肯定能知道的,所以点击时去访问日期组件,并设置日期 解决方案二: 1 为单选按钮添加点击事件,点击时设置日期控件的值为默认值:2 为日期控件添加focus事件,将单选按钮的选中属性设置为false. 解决方案三: 根据选定的结果进行

datefield-ExtJS 日期控件DateField 为什么选中的日期值在焦点离开时被清空了

问题描述 ExtJS 日期控件DateField 为什么选中的日期值在焦点离开时被清空了 代码如下: → // 检索条件(期间开始日) searchChargeDateFromField : function() { var field = new Ext.form.DateField({ id : 'searchChargeFrom', name : 'criteria.searchStartTS', format : 'Y/m/d', width : 100, fieldLabel : '期

getdate-jqxDateTimeInput日期控件比较大小。在线等

问题描述 jqxDateTimeInput日期控件比较大小.在线等 我用的是jqwidgets的jqxDateTimeInput的日期控件,在更新的页面有两个日期控件,我需要的功能是结束时间不能早于开始时间,请问该怎么写js代码.我写了一部分 //拿到开始时间的值beginTime = Wed Jan 01 2014 00:00:00 GMT+0800 (中国标准时间) {} var beginTime=$('#beginDateWidget').jqxDateTimeInput('getDat

c# 4 0-关于C#日期控件的问题

问题描述 关于C#日期控件的问题 C#日期控件中有设置可选日期的最大日期和最小日期,但是我的电脑显示时,最大或最小日期的后面就变成空白了,但是我想要的就是那种可见而不可选的状态,如一个控件的 Enabled属性设置为false的那种.请教大神有没有办法啊? 解决方案 楼主 这个是微软的控件 不可以做到你说的这样 除非你重写这个控件