学习日志(blog日历控件)-2005年11月12日

日历控件编码:数据库筛选实现
博主周末边学边编码,任务是完成日历控件编码。代码量较大且效率不高,后查MSDN找到好办法,从数据库读取某月日历数据,在DayRender事件里用DataView筛选功能对月日历筛选,筛选行数大于0则当天有日志并加入链接。

今天又是周未了,继续我的blog,边学边Coding吧!
定下的任务是完成日历控件的编码,在网上也找了几篇文章,
http://www.guoblog.com/blogview.asp?logID=79

代码量比较大,看上去效率不高筛选
查了下MSDN,发现一个好办法 
首先从数据库读取某一个月的日历数据,在DayRender事件里在显示每一页时利用DataView的筛选功能,对一个月的日历进行筛选,如果筛选后的行数大于0,说明当天有日志,加入链接。
部分代码如下:

None.gif protected   override   void  OnDayRender(TableCell cell, CalendarDay day)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {         
InBlock.gif            
if (_dtSource != null
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                DataView dv 
= new DataView(_dtSource);
                     //进行筛选
InBlock.gif                dv.RowFilter 
= string.Format(
InBlock.gif                    
"{0} >= #{1}# and {0} < #{2}#"
InBlock.gif                    
this.DayField, 
InBlock.gif                    day.Date.ToString(
"MM-dd-yyyy"), 
InBlock.gif                    day.Date.AddDays(
1).ToString("MM-dd-yyyy")
InBlock.gif                    );
InBlock.gif                                
InBlock.gif                
if (dv.Count > 0
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    cell.Controls.Clear();
InBlock.gif                    cell.Controls.Add(
new LiteralControl(string.Format("<a href=?Date={0}>{1}</a>",day.Date.ToString(),day.Date.Day)));
ExpandedSubBlockEnd.gif                }
ExpandedSubBlockEnd.gif            }
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/CSharp/archive/2005/11/12/274488.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值