Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / DataListItem.cs / 1305376 / DataListItem.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Web.UI;
using System.Web.Util;
///
/// Represents an item in the .
///
[
ToolboxItem(false)
]
public class DataListItem : WebControl, IDataItemContainer {
private int itemIndex;
private ListItemType itemType;
private object dataItem;
///
/// Initializes a new instance of the class.
///
public DataListItem(int itemIndex, ListItemType itemType) {
this.itemIndex = itemIndex;
this.itemType = itemType;
}
///
/// Represents an item in the .
///
public virtual object DataItem {
get {
return dataItem;
}
set {
dataItem = value;
}
}
///
/// Indicates the index of the item in the . This property is
/// read-only.
///
public virtual int ItemIndex {
get {
return itemIndex;
}
}
///
/// Indicates the type of the item in the .
///
public virtual ListItemType ItemType {
get {
return itemType;
}
}
public override bool SupportsDisabledAttribute {
get {
return RenderingCompatibility < VersionUtil.Framework40;
}
}
///
///
protected override Style CreateControlStyle() {
return new TableItemStyle();
}
///
///
///
protected override bool OnBubbleEvent(object source, EventArgs e) {
if (e is CommandEventArgs) {
DataListCommandEventArgs args = new DataListCommandEventArgs(this, source, (CommandEventArgs)e);
RaiseBubbleEvent(this, args);
return true;
}
return false;
}
///
/// Displays a on the client.
///
public virtual void RenderItem(HtmlTextWriter writer, bool extractRows, bool tableLayout) {
HttpContext con = Context;
if ((con != null) && con.TraceIsEnabled) {
int presize = con.Response.GetBufferedLength();
RenderItemInternal(writer, extractRows, tableLayout);
int postsize = con.Response.GetBufferedLength();
con.Trace.AddControlSize(UniqueID, postsize - presize);
}
else
RenderItemInternal(writer, extractRows, tableLayout);
}
private void RenderItemInternal(HtmlTextWriter writer, bool extractRows, bool tableLayout) {
if (extractRows == false) {
if (tableLayout) {
// in table mode, style information has gone on the containing TD
RenderContents(writer);
}
else {
// in non-table mode, the item itself is responsible for putting
// out the style information
RenderControl(writer);
}
}
else {
IEnumerator controlEnum = this.Controls.GetEnumerator();
Table templateTable = null;
bool hasControls = false;
while (controlEnum.MoveNext()) {
hasControls = true;
Control c = (Control)controlEnum.Current;
if (c is Table) {
templateTable = (Table)c;
break;
}
}
if (templateTable != null) {
IEnumerator rowEnum = templateTable.Rows.GetEnumerator();
while (rowEnum.MoveNext()) {
TableRow r = (TableRow)rowEnum.Current;
r.RenderControl(writer);
}
}
else if (hasControls) {
// there was a template, since there were controls but
// none of them was a table... so throw an exception here
throw new HttpException(SR.GetString(SR.DataList_TemplateTableNotFound,
Parent.ID, itemType.ToString()));
}
}
}
///
///
///
protected internal virtual void SetItemType(ListItemType itemType) {
this.itemType = itemType;
}
///
///
///
object IDataItemContainer.DataItem {
get {
return DataItem;
}
}
int IDataItemContainer.DataItemIndex {
get {
return ItemIndex;
}
}
int IDataItemContainer.DisplayIndex {
get {
return ItemIndex;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Web.UI;
using System.Web.Util;
///
/// Represents an item in the .
///
[
ToolboxItem(false)
]
public class DataListItem : WebControl, IDataItemContainer {
private int itemIndex;
private ListItemType itemType;
private object dataItem;
///
/// Initializes a new instance of the class.
///
public DataListItem(int itemIndex, ListItemType itemType) {
this.itemIndex = itemIndex;
this.itemType = itemType;
}
///
/// Represents an item in the .
///
public virtual object DataItem {
get {
return dataItem;
}
set {
dataItem = value;
}
}
///
/// Indicates the index of the item in the . This property is
/// read-only.
///
public virtual int ItemIndex {
get {
return itemIndex;
}
}
///
/// Indicates the type of the item in the .
///
public virtual ListItemType ItemType {
get {
return itemType;
}
}
public override bool SupportsDisabledAttribute {
get {
return RenderingCompatibility < VersionUtil.Framework40;
}
}
///
///
protected override Style CreateControlStyle() {
return new TableItemStyle();
}
///
///
///
protected override bool OnBubbleEvent(object source, EventArgs e) {
if (e is CommandEventArgs) {
DataListCommandEventArgs args = new DataListCommandEventArgs(this, source, (CommandEventArgs)e);
RaiseBubbleEvent(this, args);
return true;
}
return false;
}
///
/// Displays a on the client.
///
public virtual void RenderItem(HtmlTextWriter writer, bool extractRows, bool tableLayout) {
HttpContext con = Context;
if ((con != null) && con.TraceIsEnabled) {
int presize = con.Response.GetBufferedLength();
RenderItemInternal(writer, extractRows, tableLayout);
int postsize = con.Response.GetBufferedLength();
con.Trace.AddControlSize(UniqueID, postsize - presize);
}
else
RenderItemInternal(writer, extractRows, tableLayout);
}
private void RenderItemInternal(HtmlTextWriter writer, bool extractRows, bool tableLayout) {
if (extractRows == false) {
if (tableLayout) {
// in table mode, style information has gone on the containing TD
RenderContents(writer);
}
else {
// in non-table mode, the item itself is responsible for putting
// out the style information
RenderControl(writer);
}
}
else {
IEnumerator controlEnum = this.Controls.GetEnumerator();
Table templateTable = null;
bool hasControls = false;
while (controlEnum.MoveNext()) {
hasControls = true;
Control c = (Control)controlEnum.Current;
if (c is Table) {
templateTable = (Table)c;
break;
}
}
if (templateTable != null) {
IEnumerator rowEnum = templateTable.Rows.GetEnumerator();
while (rowEnum.MoveNext()) {
TableRow r = (TableRow)rowEnum.Current;
r.RenderControl(writer);
}
}
else if (hasControls) {
// there was a template, since there were controls but
// none of them was a table... so throw an exception here
throw new HttpException(SR.GetString(SR.DataList_TemplateTableNotFound,
Parent.ID, itemType.ToString()));
}
}
}
///
///
///
protected internal virtual void SetItemType(ListItemType itemType) {
this.itemType = itemType;
}
///
///
///
object IDataItemContainer.DataItem {
get {
return DataItem;
}
}
int IDataItemContainer.DataItemIndex {
get {
return ItemIndex;
}
}
int IDataItemContainer.DisplayIndex {
get {
return ItemIndex;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SmiEventSink.cs
- Method.cs
- SingleAnimationBase.cs
- SolidColorBrush.cs
- dbenumerator.cs
- LogPolicy.cs
- storepermissionattribute.cs
- PolicyManager.cs
- DictionaryKeyPropertyAttribute.cs
- ConfigurationLockCollection.cs
- AnnotationResource.cs
- XmlAnyAttributeAttribute.cs
- IndexingContentUnit.cs
- Renderer.cs
- ToolTipService.cs
- ConstructorNeedsTagAttribute.cs
- MetadataCacheItem.cs
- Int32KeyFrameCollection.cs
- QueryAccessibilityHelpEvent.cs
- HttpRequestBase.cs
- SafeTokenHandle.cs
- WebPartConnection.cs
- TemplateInstanceAttribute.cs
- HtmlInputControl.cs
- HandlerFactoryWrapper.cs
- DependencyPropertyDescriptor.cs
- SafeRightsManagementQueryHandle.cs
- TemplatedAdorner.cs
- SystemGatewayIPAddressInformation.cs
- StringWriter.cs
- ManagedWndProcTracker.cs
- FormsAuthenticationUser.cs
- FileDialogPermission.cs
- ZipIOLocalFileBlock.cs
- EventProviderWriter.cs
- XsdValidatingReader.cs
- TimeoutValidationAttribute.cs
- SqlUtils.cs
- ViewStateModeByIdAttribute.cs
- IsolatedStorage.cs
- __Filters.cs
- ProfileProvider.cs
- DeploymentSectionCache.cs
- AppSettingsExpressionBuilder.cs
- XmlSchemaInclude.cs
- RecognizedWordUnit.cs
- ToolStripSystemRenderer.cs
- RSAPKCS1SignatureDeformatter.cs
- ImageMapEventArgs.cs
- UnsafeNativeMethods.cs
- Odbc32.cs
- Message.cs
- DataGridViewSortCompareEventArgs.cs
- XPathSelfQuery.cs
- XmlTextWriter.cs
- _ListenerResponseStream.cs
- AsymmetricKeyExchangeFormatter.cs
- MouseDevice.cs
- EventLog.cs
- GregorianCalendarHelper.cs
- RemotingConfigParser.cs
- TabControl.cs
- InputReport.cs
- OleDbInfoMessageEvent.cs
- HttpAsyncResult.cs
- DatagridviewDisplayedBandsData.cs
- ParserExtension.cs
- UpdateManifestForBrowserApplication.cs
- Memoizer.cs
- BitmapCodecInfoInternal.cs
- Path.cs
- OverrideMode.cs
- X509Extension.cs
- StructuredTypeEmitter.cs
- ChannelServices.cs
- DbMetaDataColumnNames.cs
- VSWCFServiceContractGenerator.cs
- RelationshipEndMember.cs
- WindowsSpinner.cs
- GroupQuery.cs
- CacheHelper.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- EntityStoreSchemaFilterEntry.cs
- ComboBoxRenderer.cs
- PathFigure.cs
- SettingsProviderCollection.cs
- HostingPreferredMapPath.cs
- EllipseGeometry.cs
- AsymmetricSignatureFormatter.cs
- XmlILModule.cs
- DtdParser.cs
- Delegate.cs
- EFAssociationProvider.cs
- OpCodes.cs
- DBParameter.cs
- TrustManagerMoreInformation.cs
- PageSetupDialog.cs
- CultureInfo.cs
- DataListCommandEventArgs.cs
- CompilationSection.cs