1 // Copyright 2004-2007 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace TestSiteNVelocity
.Components
18 using System
.Collections
;
20 using Castle
.MonoRail
.Framework
;
22 public class GridComponent
: ViewComponent
24 public override bool SupportsSection(String name
)
26 return name
== "tablestart" || name
== "tableend" ||
27 name
== "header" || name
== "item" || name
== "footer" ||
31 public override void Render()
33 ICollection source
= (ICollection
) ComponentParams
["source"];
37 Context
.RenderSection("header");
39 if (source
!= null && source
.Count
!= 0)
41 foreach(object item
in source
)
43 PropertyBag
["item"] = item
;
47 Context
.RenderSection("item");
55 Context
.RenderSection("empty");
59 Context
.RenderSection("footer");
64 private void StartTable()
66 if (Context
.HasSection("tablestart"))
68 Context
.RenderSection("tablestart");
72 RenderText("<table>");
76 private void EndTable()
78 if (Context
.HasSection("tableend"))
80 Context
.RenderSection("tableend");
84 RenderText("</table>");