Calendar控件使用方法 datatable 绑定
2012-03-22 15:26
453 查看
Calendar控件 Calendar控件功能: 显示一个日历,该日历会显示一个月份 允许用户选择日期、周、月 允许用户选择一定范围内的日期 允许用户移到下一月或上一月 以编程方式控件选定日期的显示 Calendar最重要的属性 名称 说明 Caption 显示在日历上方的文本 CaptionAlign 指定标题的垂直和水平对齐方式 CellPadding 边框和单元格之间的以像素为单位的间距。默认为2 CellSpacing 单元格间以像素为单位的间距。默认值为0 DayNameFormat 一周中每一天的格式。默认为Short FirstDayOfWeek 在第一列显示的一周的某一天,默认值由系统设置指定 NextMonthText 下一月份的导航按钮的文本。默认为大于号(>) NextPrevFormat 在NextMont-hText和PrevMonth-Text中指定使用的文本 PrevMonthText 上一月份的导航按钮的文本。默认为小于号(<)。 SelectedDate 一个选定的日期。只保留日期,时间为空 SelectedDates 选择多个日期后的DateTime对象的集合。只保存日期,时间为空 SelectedDates.Count 选择了选择了日期的数量 SelectionMode 在本节的后面描述 SelectMonthText 选择器列中月份选择元素显示的文本。默认为两个大于号(>>)。 ShowDayHeader 是否在日历标题中显示一周中每一天的名称。默认为true ShowGridLines 如果为true,显示单元格之间的网格线。默认为false ShowNextPrevMonth 指定是否显示上个月和下个月导航元素。默认为true ShowTitle 指定是否显示标题(上个月和下个月导航元素)。 TitleFormat 指定标题是显示为月份,还是同时显示月份和年份.默认为MonthYear TodaysDate 今天的日期 UseAccessibleHeader 指示是否使用可通过辅助技术访问的标题 VisibleDate 显示月份的任意日期 在Calendar中选择日期 如果需要让用户可以选择一天、一周或一个月,则必须设置SelectionMode属性。 CalendarSelectionMode枚举成员 Day 允许用户选择单个日期。这是默认值 DayWeek 允许用户选择单个日期或整周 DayWeekMonth 允许用户选择单个日期、周或整个月 None 未能选择日期 控制Calendar的外观 许多TableItemStyle类型的属性用于控制日历每个部分的样式。 Calendar中TableItemStyle类型的属性 名称 所设置样式的对象 DayHeaderStyle 一周中某天 DayStyle 日期 NextPrevStyle 月份导航控件 OtherMonthDayStyle 不在当前显示月份中的日期 SelectedDayStyle 选中日期 SelectorStyle 周和月选择器列 TitleStyle 标题栏 TodayDayStyle 今天的日期 WeekendDayStyle 周末日期 Boolean 类型的属性控制日历外观的不同部分 属性 默认值 控制其可见性的对象 ShowDayHeader true 一周中每一天的名称 ShowGridLines false 月份中日期的网格线 ShowNextPrevMonth true 月份导航控件 ShowTitle true 标题栏 Calendar控件编程 Calendar控件提供了3个事件: SelectionChanged DayRender VisibleMonthChanged SelectionChanged 事件 当用户控件选择一天、一周或整月时发生 以编程方式选择时,并不触发该事件。该事件处理程序传递一个EventArgs类型参数。 例如: protected void Calendar1_SelectionChanged(object sender, EventArgs e) { lblTodaysDate.Text = "Today's Date is " + Calendar1.TodaysDate.ToShortDateString(); if (Calendar1.SelectedDate != DateTime.MinValue) lblSelected.Text = "The date selected is " + Calendar1.SelectedDate.ToShortDateString(); lblCount.Text = "Count of Days Selected: " + Calendar1.SelectedDates.Count.ToString(); } TodaysDate 属性 获取或设置今天的日期的值(System.DateTime类型) DateTime转换到字符串的方法 方法名称 说明 ToFileTime 转换到本地文件系统的格式 ToLongDateString 转换到长日期字符串 ToLongTimeString 转换到长时间字符串 ToShortTimeString 转换到短时间字符串 ToString 转换到一个字符串 DateTime的只读属性 属性名称 说明 Date 返回日期部分 Day 返回月份中的日期 DayOfWeek 返回一周中的日期,如Friday,Saturday等 DayOfYear 返回年份中的日期 Hour 返回小时部分 Millisecond 返回毫秒部分 Minute 返回分钟部分 Month 返回月部分 Second 返回秒部分 Ticks 返回表示日期和时间的以100毫微秒为间隔的间隔数 TimeOfDay 返回当天的时间 Year 返回年部分 DateTime的字段 MaxValue 表示 DateTime 的最大可能值。此字段为只读。 MinValue 表示 DateTime 的最小可能值。此字段为只读。 如果没有选择一个日期SelectedDate属性,则默认为DateTime.MinValue 检测当前选择日期Calendar1.SelectedDate是否等于DateTime.MinValue来检查是否选择了一个日期 MaxValue字段的值为11:59:59 PM,12/31/9999 CE。 SelectedDates集合中的日期是按日期升序排列的。 SelectedDate属性自动更新为包含SelectedDates集合的第一个对象。 尽管SelectedDates(选定日期的集合)和SelectedDate(单个选定的日期)都包含DateTime对象,但只存储Date值,时间值被设置null(在C#语言中)。 使用Calendar控件的VisibleDate属性可以设置显示的月份 VisibleDate属性是DateTime类型需要3个整型参数:year、month和day。 例如: Calendar1.VisibleDate = new DateTime(Calendar1.VisibleDate.Year, Int32.Parse(ddl.SelectedItem.Value), 1); Int32.Parse(ddl.SelectedItem.Value)能把这个Value值转换为整型 DateTime对象的DaysInMonth属性获取该月份中的天数 例如: System.DateTime.DaysInMonth(currentYear, currentMonth) 判断当前日期是星期几,可用DayOfWeek对象 例如: DateTime date = new DateTime(currentYear, currentMonth, i); if (date.DayOfWeek == DayOfWeek.Friday) //date是星期五 使用 SelectedDates 集合以编程方式选择 Calendar 控件上的日期。 使用 Add、Remove、Clear 和 SelectRange 方法在 SelectedDates 集合中的选定日期。 例如: Calendar1.SelectedDates.Add(date); SelectRange 方法 将指定的日期范围添加到 SelectedDatesCollection 集合中 需要两个参数:开始日期和结束日期。 例如: Calendar1.SelectedDates.SelectRange(StartDate, EndDate); DayRender 事件 当为 Calendar 控件在控件层次结构中创建每一天时发生 DayRender事件处理程序接收两个DayRenderEventArgs类型的参数。 该对象有两个属性,它们可以用编程方式读取: Cell 表示要呈现的单元格的表格单元格对象。 Day 表示呈现在单元格中日期的CalendarDay对象。 例如: 添加事件: OnDayRender="Calendar1_DayRender" 事件处理程序: protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { // 注意这将会覆盖WeekendDayStyle if (!e.Day.IsOtherMonth && e.Day.IsWeekend) e.Cell.BackColor = System.Drawing.Color.LightGreen; // 在单元格中显示“Happy New Year!” if (e.Day.Date.Month == 1 && e.Day.Date.Day == 1) e.Cell.Controls.Add(new LiteralControl("
Happy New Year!")); } 参数: DayRenderEventArgs包含Day和Cell的属性。 Day是一个CalendarDay类型属性。 CalendarDay类的属性 属性 说明 Date 由Day表示的日期。只读 DayNumberText 该日期的日编号的等效字符串。只读 IsOtherMonth 指示该日期是否显示当前月份以外的月份。只读 IsSelectable 指示该日期是否可以被选择。非只读 IsSelected 指示该日期是否被选择 IsToday 指示该日期是否是今天 IsWeekend 指示该日期是否是周末 VisibleMonthChanged 事件 当用户单击标题标头上的下个月或上个月导航控件时发生 例如: 添加事件: OnVisibleMonthChanged="Calendar1_VisibleMonthChanged" 事件处理程序: protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e) { if ((e.NewDate.Year > e.PreviousDate.Year) || ((e.NewDate.Year == e.PreviousDate.Year) && (e.NewDate.Month > e.PreviousDate.Month))) lblMonthChanged.Text = "My future's so bright..."; else lblMonthChanged.Text = "Back to the future!"; Calendar1.SelectedDates.Clear( ); lblSelectedUpdate( ); lblCountUpdate( ); txtClear( ); http://home.51.com/zgmmz/diary/item/10054235.html datatable 绑定 建议使用Repeater,请看参考以下代码: C# code <%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %>
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = GetConnectionString();
Repeater.DataSource = GetDataSet(connectionString);
Repeater.DataBind();
}
private DataSet GetDataSet(string connectionString)
{
DataSet dataSet;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.TableMappings.Add("Table", "Suppliers");
connection.Open();
SqlCommand command = new SqlCommand(
@"SELECT TOP 20 Country, CompanyName, ContactName
FROM dbo.Suppliers ORDER BY Country;",
connection);
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
dataSet = new DataSet("Suppliers");
adapter.Fill(dataSet);
connection.Close();
}
return dataSet;
}
static private string GetConnectionString()
{
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
Untitled Page
Happy New Year!")); } 参数: DayRenderEventArgs包含Day和Cell的属性。 Day是一个CalendarDay类型属性。 CalendarDay类的属性 属性 说明 Date 由Day表示的日期。只读 DayNumberText 该日期的日编号的等效字符串。只读 IsOtherMonth 指示该日期是否显示当前月份以外的月份。只读 IsSelectable 指示该日期是否可以被选择。非只读 IsSelected 指示该日期是否被选择 IsToday 指示该日期是否是今天 IsWeekend 指示该日期是否是周末 VisibleMonthChanged 事件 当用户单击标题标头上的下个月或上个月导航控件时发生 例如: 添加事件: OnVisibleMonthChanged="Calendar1_VisibleMonthChanged" 事件处理程序: protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e) { if ((e.NewDate.Year > e.PreviousDate.Year) || ((e.NewDate.Year == e.PreviousDate.Year) && (e.NewDate.Month > e.PreviousDate.Month))) lblMonthChanged.Text = "My future's so bright..."; else lblMonthChanged.Text = "Back to the future!"; Calendar1.SelectedDates.Clear( ); lblSelectedUpdate( ); lblCountUpdate( ); txtClear( ); http://home.51.com/zgmmz/diary/item/10054235.html datatable 绑定 建议使用Repeater,请看参考以下代码: C# code <%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %>
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = GetConnectionString();
Repeater.DataSource = GetDataSet(connectionString);
Repeater.DataBind();
}
private DataSet GetDataSet(string connectionString)
{
DataSet dataSet;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.TableMappings.Add("Table", "Suppliers");
connection.Open();
SqlCommand command = new SqlCommand(
@"SELECT TOP 20 Country, CompanyName, ContactName
FROM dbo.Suppliers ORDER BY Country;",
connection);
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
dataSet = new DataSet("Suppliers");
adapter.Fill(dataSet);
connection.Close();
}
return dataSet;
}
static private string GetConnectionString()
{
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
Untitled Page
Country | CompanyName | ContactName |
'<%# Eval("Country") %> | '<%# Eval("CompanyName") %> | '<%# Eval("ContactName") %> |
相关文章推荐
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- TextBox和Calendar结合使用(使用ajax控件的简单方法)
- 在数据绑定控件中使用LinkButton传递参数方法
- ASP.NET Calendar日历(日期)控件使用方法
- GridView控件使用技巧——用DataKeyNames来保存绑定的datatable更多的字段值
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
- GridView控件使用技巧——用DataKeyNames来保存绑定的datatable更多的字段值
- 将DataTable绑定到wpf的ComboBox控件方法
- Repeater控件使用方法(绑定数据、添加序号列)
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- AjaxControlToolKit CalendarExtender(日历扩展控件)的使用方法
- 《转》---使用递归方法DataTable 绑定 TreeView
- 将DataTable绑定到wpf的ComboBox控件方法
- AjaxControlToolKit CalendarExtender(日历扩展控件)的使用方法
- 在数据绑定控件中使用LinkButton传递参数方法
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- AJAX扩展控件CalendarExtender的使用方法总结
- Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用
- Web页面报错: Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用.