//
-// System.Web.UI.WebControls.TemplateColumn.cs
+// System.Web.UI.WebControls.TemplateColumn
//
// Authors:
-// Gaurav Vaish (gvaish@iitk.ac.in)
-// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
+// Ben Maurer (bmaurer@novell.com)
//
-// (C) Gaurav Vaish (2002)
-// (C) 2003 Andreas Nahr
-//\r
-
+// (C) 2005 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-\r
-\r
-using System;
-using System.ComponentModel;\r
-using System.Web;\r
-using System.Web.UI;\r
-\r
-namespace System.Web.UI.WebControls\r
-{\r
- public class TemplateColumn : DataGridColumn\r
- {\r
- private ITemplate editItemTemplate;\r
- private ITemplate footerTemplate;\r
- private ITemplate headerTemplate;\r
- private ITemplate itemTemplate;\r
-\r
- public TemplateColumn(): base()\r
- {\r
- }\r
-
- [DefaultValue (null), Browsable (false)]
- [PersistenceMode (PersistenceMode.InnerProperty), TemplateContainer (typeof (DataGridItem))]
- [WebSysDescription ("The template that is used to build that are being edited rows for this column.")]\r
- public virtual ITemplate EditItemTemplate\r
- {\r
- get\r
- {\r
- return editItemTemplate;\r
- }\r
- set\r
- {\r
- editItemTemplate = value;\r
- OnColumnChanged();\r
- }\r
- }\r
- [DefaultValue (null), Browsable (false)]
- [PersistenceMode (PersistenceMode.InnerProperty), TemplateContainer (typeof (DataGridItem))]
- [WebSysDescription ("The template that is used to build the footer for this column.")]\r
- public virtual ITemplate FooterTemplate\r
- {\r
- get\r
- {\r
- return footerTemplate;\r
- }\r
- set\r
- {\r
- footerTemplate = value;\r
- OnColumnChanged();\r
- }\r
- }\r
+using System.ComponentModel;
+using System.Web.UI;
- [DefaultValue (null), Browsable (false)]
- [PersistenceMode (PersistenceMode.InnerProperty), TemplateContainer (typeof (DataGridItem))]
- [WebSysDescription ("The template that is used to build the header for this column.")]\r
- public virtual ITemplate HeaderTemplate\r
- {\r
- get\r
- {\r
- return headerTemplate;\r
- }\r
- set\r
- {\r
- headerTemplate = value;\r
- OnColumnChanged();\r
- }\r
- }\r
+namespace System.Web.UI.WebControls {
+ public class TemplateColumn : DataGridColumn {
+ public override void InitializeCell (TableCell cell, int columnIndex, ListItemType itemType)
+ {
+ base.InitializeCell (cell, columnIndex, itemType);
+ ITemplate t = null;
+ switch (itemType) {
+ case ListItemType.Header:
+ t = HeaderTemplate;
+ break;
+ case ListItemType.Footer:
+ t = FooterTemplate;
+ break;
+ case ListItemType.Item:
+ case ListItemType.AlternatingItem:
+ case ListItemType.SelectedItem:
+ t = ItemTemplate;
+ break;
+ case ListItemType.EditItem:
+ t = EditItemTemplate;
+ if (t == null)
+ t = ItemTemplate;
+ break;
+ }
+
+ if (t != null)
+ t.InstantiateIn (cell);
+ }
- [DefaultValue (null), Browsable (false)]
- [PersistenceMode (PersistenceMode.InnerProperty), TemplateContainer (typeof (DataGridItem))]
- [WebSysDescription ("The template that is used to build rows for this column.")]\r
- public virtual ITemplate ItemTemplate\r
- {\r
- get\r
- {\r
- return itemTemplate;\r
- }\r
- set\r
- {\r
- itemTemplate = value;\r
- OnColumnChanged();\r
- }\r
- }\r
-\r
- public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType)\r
- {\r
- base.InitializeCell(cell, columnIndex, itemType);\r
- ITemplate toRender = null;\r
- switch(itemType)\r
- {\r
- case ListItemType.Header: toRender = headerTemplate;\r
- break;\r
- case ListItemType.Footer: toRender = footerTemplate;\r
- break;\r
- case ListItemType.SelectedItem:
- case ListItemType.AlternatingItem:
- case ListItemType.Item: toRender = itemTemplate;\r
- break;
- case ListItemType.EditItem:
- toRender = (editItemTemplate != null ? editItemTemplate : itemTemplate);\r
- break;\r
- }\r
- if(toRender != null)\r
- {\r
- cell.Text = String.Empty;\r
- toRender.InstantiateIn(cell);\r
- }\r
- }\r
- }\r
-}\r
+ ITemplate editItemTemplate, footerTemplate, headerTemplate, itemTemplate;
+
+ [Browsable(false)]
+ [DefaultValue (null)]
+ [PersistenceMode(PersistenceMode.InnerProperty)]
+ [TemplateContainer (typeof(DataGridItem))]
+ [WebSysDescription ("")]
+ public virtual ITemplate EditItemTemplate {
+ get { return editItemTemplate; }
+ set { editItemTemplate = value; }
+ }
+
+ [Browsable(false)]
+ [DefaultValue (null)]
+ [PersistenceMode(PersistenceMode.InnerProperty)]
+ [TemplateContainer (typeof(DataGridItem))]
+ [WebSysDescription ("")]
+ public virtual ITemplate FooterTemplate {
+ get { return footerTemplate; }
+ set { footerTemplate = value; }
+ }
+
+ [Browsable(false)]
+ [DefaultValue (null)]
+ [PersistenceMode(PersistenceMode.InnerProperty)]
+ [TemplateContainer (typeof(DataGridItem))]
+ [WebSysDescription ("")]
+ public virtual ITemplate HeaderTemplate {
+ get { return headerTemplate; }
+ set { headerTemplate = value; }
+ }
+
+ [Browsable(false)]
+ [DefaultValue (null)]
+ [PersistenceMode(PersistenceMode.InnerProperty)]
+ [TemplateContainer (typeof(DataGridItem))]
+ [WebSysDescription ("")]
+ public virtual ITemplate ItemTemplate {
+ get { return itemTemplate; }
+ set { itemTemplate = value; }
+ }
+ }
+}