关于日期控件-----老板的新要求(即刻结分) 做一个类似于挂历那样的备忘录,主要功能是在一个页面里显示本月的日期(类似挂历),然后他可以在每个日子里写下好多条内容,并且能修改其中的任何一条(包括添加、修改、删除),…… 可以用表格来实现么?还有换行的问题。求思路!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不错的主意。使用table当然是必需的框架。换行?别忘了你的布局是固定的,不允许随意换行,而是嵌在表格中的! asp.net不是有一个日期控件吗,就是作这个用的。很方便。 一个思路是在后台进行Table的拼装,如:Table table = new Table();TableRow tr = new TableRow();TableCell tc = new TableCell();tr.Cells.Add(tc);table.Rows.Add(tr);单元格内的具体内容通过tc的Text属性或Controls属性设置,还有其他属性可设置单元格的大小样式等。最后再将table添加到外层控件中。 随便写了一个:页面中有一个Panel控件protected System.Web.UI.WebControls.Panel pCalendar;页面Page_Load中加入DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);int w = Convert.ToInt32(dt.DayOfWeek);DateTime start = dt.AddDays(-w);DateTime curr;Table table = new Table();TableRow tr = new TableRow();TableCell tc;string context = @"<table border='0' cellspacing='0' cellpadding='0' width='100%' height='100%'> <tr><td height='20'>{0}</td></tr> <tr><td>内容</td></tr> </table>";int i = 0;while (i < 35){ curr = start.AddDays(i); if (i % 7 == 0) tr = new TableRow(); tc = new TableCell(); tc.BorderWidth = 1; tc.Width = new Unit("14%"); tc.Height = 100; tr.Cells.Add(tc); if (start.AddDays(i).Month != dt.Month) tc.Text = context.Replace("{0}", "<font color='#aaaaaa'>" + curr.Day.ToString() + "</font>"); else tc.Text = context.Replace("{0}", curr.Day.ToString()); if (i % 7 == 0) table.Rows.Add(tr); i++;}table.BorderWidth = 1;table.CellSpacing = 2;table.Width = new Unit("100%");this.pCalendar.Controls.Add(table); 谢谢reagan0127(reagan) !谢谢各位! 我可能没有表述清楚,老板的意思是,打开这个页面就能直观地看到整个月的备忘事件,而且可以查看、编写其他月份的备忘;他希望当鼠标移动到那天时,那个日子就着重显示,单击后,可以进行修改、编辑。最重要的是界面直观、操作方便。还有一点就是,有的日子多则十几条,我担心一个屏怎么显示的开?<-----------------> 用panel是可以显示,可是怎么让他编辑备忘呢?我觉得还是用表格或者框架比较合适些(见笑),希望大家多给意见。 用vs.net2005 里的时间控件就可以实现. To: reagan0127(reagan) ! 如果我这个月时31天,而下面又显示不开,应该把31放到第一行的第一个位置吧,可是,你的代码里没有反映这一现象啊? 有没有办法通过直接点击web页面上的链接运行一个exe 做什么样的网站好? asp.net中url里的参数隐藏? select count(*) 关联查询 有一个问题困扰着我,一直没有得到答案?希望使用过的人能指点迷津! 除了vss,有没有更好的代码管理软件 ★有关asp.net登陆的一个小问题★★ 如何在DataGrid控件边上增减一列复选框 宝贝 图册新闻后台如何设计? 等待...15分 求ORACLE数据库中取前10条记录的SQL语句!揭贴就给分,急!
Table table = new Table();
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tr.Cells.Add(tc);
table.Rows.Add(tr);
单元格内的具体内容通过tc的Text属性或Controls属性设置,还有其他属性可设置单元格的大小样式等。最后再将table添加到外层控件中。
protected System.Web.UI.WebControls.Panel pCalendar;页面Page_Load中加入
DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
int w = Convert.ToInt32(dt.DayOfWeek);
DateTime start = dt.AddDays(-w);
DateTime curr;Table table = new Table();
TableRow tr = new TableRow();
TableCell tc;string context = @"<table border='0' cellspacing='0' cellpadding='0' width='100%' height='100%'>
<tr><td height='20'>{0}</td></tr>
<tr><td>内容</td></tr>
</table>";int i = 0;
while (i < 35)
{
curr = start.AddDays(i); if (i % 7 == 0)
tr = new TableRow(); tc = new TableCell();
tc.BorderWidth = 1;
tc.Width = new Unit("14%");
tc.Height = 100;
tr.Cells.Add(tc); if (start.AddDays(i).Month != dt.Month)
tc.Text = context.Replace("{0}", "<font color='#aaaaaa'>" + curr.Day.ToString() + "</font>");
else tc.Text = context.Replace("{0}", curr.Day.ToString()); if (i % 7 == 0)
table.Rows.Add(tr); i++;
}table.BorderWidth = 1;
table.CellSpacing = 2;
table.Width = new Unit("100%");this.pCalendar.Controls.Add(table);
我可能没有表述清楚,老板的意思是,打开这个页面就能直观地看到整个月的备忘事件,而且可以查看、编写其他月份的备忘;他希望当鼠标移动到那天时,那个日子就着重显示,单击后,可以进行修改、编辑。最重要的是界面直观、操作方便。还有一点就是,有的日子多则十几条,我担心一个屏怎么显示的开?
<----------------->
用panel是可以显示,可是怎么让他编辑备忘呢?我觉得还是用表格或者框架比较合适些(见笑),希望大家多给意见。