3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 * Namespace: System.Web.UI.WebControls
26 * Authors: Gaurav Vaish, Gonzalo Paniagua (gonzalo@ximian.com)
27 * Maintainer: gvaish@iitk.ac.in
28 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
32 * (C) Gaurav Vaish (2002)
33 * (c) 2002 Ximian, Inc. (http://www.ximian.com)
37 using System
.Collections
;
40 using System
.ComponentModel
;
42 namespace System
.Web
.UI
.WebControls
45 public class DataListItem
: WebControl
, INamingContainer
48 ListItemType itemType
;
51 public DataListItem(int itemIndex
, ListItemType itemType
)
53 this.itemIndex
= itemIndex
;
54 this.itemType
= itemType
;
57 public virtual object DataItem
69 public virtual int ItemIndex
77 public virtual ListItemType ItemType
85 public virtual void RenderItem (HtmlTextWriter writer
, bool extractRows
, bool tableLayout
)
89 foreach (Control ctrl
in Controls
){
97 throw new HttpException ("Template table not found!");
99 foreach (TableRow row
in tbl
.Rows
)
100 row
.RenderControl (writer
);
103 RenderContents (writer
);
105 RenderControl (writer
);
110 protected override Style
CreateControlStyle()
112 return new TableItemStyle();
115 protected override bool OnBubbleEvent(object source
, EventArgs e
)
117 if(e
is CommandEventArgs
)
119 RaiseBubbleEvent(this, new DataListCommandEventArgs(this, source
, (CommandEventArgs
)e
));
125 protected internal virtual void SetItemType(ListItemType itemType
)
127 if(Enum
.IsDefined(typeof(ListItemType
), itemType
))
129 this.itemType
= itemType
;