创建基于GridView的周查看控件

时间:2009-10-28 12:33:34

标签: c# .net asp.net .net-3.5

我正在尝试为一个学校提供一个简单的预订应用程序,该学校以WebPart的形式从多个SPL中提取数据,用于现有预订,重复(时间表)预订以及用作过滤器的可用房间列表。

我从一开始就承认ASP.net不是我的强项,我更倾向于使用Console和WinForms项目,但我愿意学习。项目的数据访问部分非常简单,我可以从列表中提取数据和模式并将其吐出。我正在努力使用ASP.net和WebParts实现的交互式表示组件。

它的外观方式与此相似。

         Monday | Tuesday | Wednesday | Thursday | Friday
Period 1  Book  |  Book   |    Book   |   Book   |  Book
Period 2  Book  |  Book   |  Unavail. |   Book   |  Book
Period 3  Book  |  Book   |    Book   | Unavail. |  Book
Period 4  Book  |  Book   |    Book   |   Book   |  Book
Period 5  Book  |  Book   |    Book   |   Book   |  Book

到目前为止,我的计划是将上述实现为单个System.Web.UI.UserControl,它将DataBind转换为数据结构,然后可能触发点击事件以检查它们的项目是否仍然可用并进行预订。

我正在努力争取到最好的方式来实现这一目标似乎有许多方法可以实现目标,但这些目标看起来都不是特别优雅,我觉得我错过了一些东西。我很乐意接受关于攻击这个项目的好方法的任何指示和建议。

2 个答案:

答案 0 :(得分:2)

如果要使用visual studio的开箱即用控件,可以使用2个中继器(一个嵌套在另一个中)来创建网格。您可以使用转发器上的OnItemCommand事件来使用网格中的任何其他控件来捕获这些控件上的事件(使用控件上的CommandName和CommandArgument属性)

这将是认证的工作,并将是一个很好的练习,以了解更多关于asp.net。 如果需要,您可以将其构建到您自己的通用UserControl中。

答案 1 :(得分:1)

不一定比转发器建议更好,但另一种选择是使用GridView控件和DataTable数据结构。两者中的第一列都是“行标题”列,您可以在其中输入“Period1,Period2等”。