Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / DataBindingCollection.cs / 1 / DataBindingCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Data;
using System.Web.Util;
using System.Security.Permissions;
///
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class DataBindingCollection : ICollection {
private EventHandler changedEvent;
private Hashtable bindings;
private Hashtable removedBindings;
///
///
public DataBindingCollection() {
this.bindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
///
///
public int Count {
get {
return bindings.Count;
}
}
///
///
public bool IsReadOnly {
get {
return false;
}
}
///
///
public bool IsSynchronized {
get {
return false;
}
}
///
///
public string[] RemovedBindings {
get {
int bindingCount = 0;
ICollection keys = null;
if (removedBindings != null) {
keys = removedBindings.Keys;
bindingCount = keys.Count;
string[] removedNames = new string[bindingCount];
int i = 0;
foreach (string s in keys) {
removedNames[i++] = s;
}
removedBindings.Clear();
return removedNames;
}
else {
return new string[0];
}
}
}
///
///
private Hashtable RemovedBindingsTable {
get {
if (removedBindings == null) {
removedBindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
return removedBindings;
}
}
///
///
public object SyncRoot {
get {
return this;
}
}
///
///
public DataBinding this[string propertyName] {
get {
object o = bindings[propertyName];
if (o != null)
return(DataBinding)o;
return null;
}
}
public event EventHandler Changed {
add {
changedEvent = (EventHandler)Delegate.Combine(changedEvent, value);
}
remove {
changedEvent = (EventHandler)Delegate.Remove(changedEvent, value);
}
}
///
///
public void Add(DataBinding binding) {
bindings[binding.PropertyName] = binding;
RemovedBindingsTable.Remove(binding.PropertyName);
OnChanged();
}
///
///
public bool Contains(string propertyName) {
return bindings.Contains(propertyName);
}
///
///
public void Clear() {
ICollection keys = bindings.Keys;
if ((keys.Count != 0) && (removedBindings == null)) {
// ensure the removedBindings hashtable is created
Hashtable h = RemovedBindingsTable;
}
foreach (string s in keys) {
removedBindings[s] = String.Empty;
}
bindings.Clear();
OnChanged();
}
///
///
public void CopyTo(Array array, int index) {
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
///
public IEnumerator GetEnumerator() {
return bindings.Values.GetEnumerator();
}
private void OnChanged() {
if (changedEvent != null) {
changedEvent(this, EventArgs.Empty);
}
}
///
///
public void Remove(string propertyName) {
Remove(propertyName, true);
}
///
///
public void Remove(DataBinding binding) {
Remove(binding.PropertyName, true);
}
///
///
public void Remove(string propertyName, bool addToRemovedList) {
if (Contains(propertyName)) {
bindings.Remove(propertyName);
if (addToRemovedList) {
RemovedBindingsTable[propertyName] = String.Empty;
}
OnChanged();
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Data;
using System.Web.Util;
using System.Security.Permissions;
///
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class DataBindingCollection : ICollection {
private EventHandler changedEvent;
private Hashtable bindings;
private Hashtable removedBindings;
///
///
public DataBindingCollection() {
this.bindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
///
///
public int Count {
get {
return bindings.Count;
}
}
///
///
public bool IsReadOnly {
get {
return false;
}
}
///
///
public bool IsSynchronized {
get {
return false;
}
}
///
///
public string[] RemovedBindings {
get {
int bindingCount = 0;
ICollection keys = null;
if (removedBindings != null) {
keys = removedBindings.Keys;
bindingCount = keys.Count;
string[] removedNames = new string[bindingCount];
int i = 0;
foreach (string s in keys) {
removedNames[i++] = s;
}
removedBindings.Clear();
return removedNames;
}
else {
return new string[0];
}
}
}
///
///
private Hashtable RemovedBindingsTable {
get {
if (removedBindings == null) {
removedBindings = new Hashtable(StringComparer.OrdinalIgnoreCase);
}
return removedBindings;
}
}
///
///
public object SyncRoot {
get {
return this;
}
}
///
///
public DataBinding this[string propertyName] {
get {
object o = bindings[propertyName];
if (o != null)
return(DataBinding)o;
return null;
}
}
public event EventHandler Changed {
add {
changedEvent = (EventHandler)Delegate.Combine(changedEvent, value);
}
remove {
changedEvent = (EventHandler)Delegate.Remove(changedEvent, value);
}
}
///
///
public void Add(DataBinding binding) {
bindings[binding.PropertyName] = binding;
RemovedBindingsTable.Remove(binding.PropertyName);
OnChanged();
}
///
///
public bool Contains(string propertyName) {
return bindings.Contains(propertyName);
}
///
///
public void Clear() {
ICollection keys = bindings.Keys;
if ((keys.Count != 0) && (removedBindings == null)) {
// ensure the removedBindings hashtable is created
Hashtable h = RemovedBindingsTable;
}
foreach (string s in keys) {
removedBindings[s] = String.Empty;
}
bindings.Clear();
OnChanged();
}
///
///
public void CopyTo(Array array, int index) {
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
///
public IEnumerator GetEnumerator() {
return bindings.Values.GetEnumerator();
}
private void OnChanged() {
if (changedEvent != null) {
changedEvent(this, EventArgs.Empty);
}
}
///
///
public void Remove(string propertyName) {
Remove(propertyName, true);
}
///
///
public void Remove(DataBinding binding) {
Remove(binding.PropertyName, true);
}
///
///
public void Remove(string propertyName, bool addToRemovedList) {
if (Contains(propertyName)) {
bindings.Remove(propertyName);
if (addToRemovedList) {
RemovedBindingsTable[propertyName] = String.Empty;
}
OnChanged();
}
}
}
}
// 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
- DynamicPhysicalDiscoSearcher.cs
- ClientSettings.cs
- SystemEvents.cs
- ObjectDataSourceStatusEventArgs.cs
- DrawItemEvent.cs
- SystemDiagnosticsSection.cs
- ApplicationId.cs
- SQLGuidStorage.cs
- RowCache.cs
- ListBoxItemWrapperAutomationPeer.cs
- ButtonFlatAdapter.cs
- ArgumentOutOfRangeException.cs
- AudienceUriMode.cs
- SystemParameters.cs
- PackWebRequest.cs
- BrowserTree.cs
- ValidatorCompatibilityHelper.cs
- DesigntimeLicenseContext.cs
- Dictionary.cs
- TypeDescriptorFilterService.cs
- TemplatedWizardStep.cs
- shaper.cs
- EventSetter.cs
- ValueType.cs
- EntityDataSourceMemberPath.cs
- MessageSecurityProtocol.cs
- DependencyObjectType.cs
- EntityClientCacheKey.cs
- Int32CollectionConverter.cs
- CompilerErrorCollection.cs
- GlyphingCache.cs
- Faults.cs
- Lasso.cs
- CodeGeneratorOptions.cs
- XmlNamedNodeMap.cs
- EntityParameter.cs
- PropertyItem.cs
- NamespaceImport.cs
- KeyValueConfigurationElement.cs
- DelayedRegex.cs
- OdbcEnvironmentHandle.cs
- Pens.cs
- ItemChangedEventArgs.cs
- LinqDataSourceValidationException.cs
- HttpListenerResponse.cs
- ComponentGuaranteesAttribute.cs
- CultureSpecificStringDictionary.cs
- XmlNotation.cs
- ExpressionLink.cs
- EarlyBoundInfo.cs
- HttpStreamXmlDictionaryReader.cs
- StateBag.cs
- SHA1Managed.cs
- GifBitmapDecoder.cs
- ContentElement.cs
- InstanceNameConverter.cs
- GetBrowserTokenRequest.cs
- VectorCollection.cs
- NativeMethods.cs
- UTF32Encoding.cs
- TreeWalker.cs
- TypeUnloadedException.cs
- RegexParser.cs
- RewritingProcessor.cs
- BStrWrapper.cs
- IApplicationTrustManager.cs
- mediaeventshelper.cs
- ColumnHeaderConverter.cs
- WebPageTraceListener.cs
- IPGlobalProperties.cs
- TextEditorTyping.cs
- HwndHost.cs
- Identity.cs
- Variable.cs
- UnsupportedPolicyOptionsException.cs
- DataGridViewTextBoxCell.cs
- ShaderEffect.cs
- ProtocolElement.cs
- SafeProcessHandle.cs
- AdjustableArrowCap.cs
- XamlStyleSerializer.cs
- Int64Storage.cs
- StringBuilder.cs
- BamlLocalizer.cs
- CodeRegionDirective.cs
- ImplicitInputBrush.cs
- CoreSwitches.cs
- ToolStripMenuItemCodeDomSerializer.cs
- HyperLinkDataBindingHandler.cs
- HandleRef.cs
- NativeMethodsOther.cs
- WebRequest.cs
- ZipPackagePart.cs
- TextElementEnumerator.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- VisualBasicImportReference.cs
- OleDbParameterCollection.cs
- FunctionImportElement.cs
- SortedSet.cs
- CopyAttributesAction.cs