Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / EditCommandColumn.cs / 1 / EditCommandColumn.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.Security.Permissions;
///
/// Creates a special column with buttons for ,
/// , and commands to edit items
/// within the selected row.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class EditCommandColumn : DataGridColumn {
///
/// Initializes a new instance of an class.
///
public EditCommandColumn() {
}
///
/// Indicates the button type for the column.
///
[
DefaultValue(ButtonColumnType.LinkButton)
]
public virtual ButtonColumnType ButtonType {
get {
object o = ViewState["ButtonType"];
if (o != null)
return(ButtonColumnType)o;
return ButtonColumnType.LinkButton;
}
set {
if (value < ButtonColumnType.LinkButton || value > ButtonColumnType.PushButton) {
throw new ArgumentOutOfRangeException("value");
}
ViewState["ButtonType"] = value;
OnColumnChanged();
}
}
///
/// Indicates the text to display for the command button
/// in the column.
///
[
Localizable(true),
DefaultValue("")
]
public virtual string CancelText {
get {
object o = ViewState["CancelText"];
if (o != null)
return(string)o;
return String.Empty;
}
set {
ViewState["CancelText"] = value;
OnColumnChanged();
}
}
[
DefaultValue(true),
]
public virtual bool CausesValidation {
get {
object o = ViewState["CausesValidation"];
if (o != null) {
return (bool)o;
}
return true;
}
set {
ViewState["CausesValidation"] = value;
OnColumnChanged();
}
}
///
/// Indicates the text to display for the command button in
/// the column.
///
[
Localizable(true),
DefaultValue("")
]
public virtual string EditText {
get {
object o = ViewState["EditText"];
if (o != null)
return(string)o;
return String.Empty;
}
set {
ViewState["EditText"] = value;
OnColumnChanged();
}
}
///
/// Indicates the text to display for the command button
/// in the column.
///
[
Localizable(true),
DefaultValue("")
]
public virtual string UpdateText {
get {
object o = ViewState["UpdateText"];
if (o != null)
return(string)o;
return String.Empty;
}
set {
ViewState["UpdateText"] = value;
OnColumnChanged();
}
}
[
DefaultValue(""),
]
public virtual string ValidationGroup {
get {
object o = ViewState["ValidationGroup"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
ViewState["ValidationGroup"] = value;
OnColumnChanged();
}
}
private void AddButtonToCell(TableCell cell, string commandName, string buttonText, bool causesValidation, string validationGroup) {
WebControl buttonControl = null;
ControlCollection controls = cell.Controls;
ButtonColumnType buttonType = ButtonType;
if (buttonType == ButtonColumnType.LinkButton) {
LinkButton button = new DataGridLinkButton();
buttonControl = button;
button.CommandName = commandName;
button.Text = buttonText;
button.CausesValidation = causesValidation;
button.ValidationGroup = validationGroup;
}
else {
Button button = new Button();
buttonControl = button;
button.CommandName = commandName;
button.Text = buttonText;
button.CausesValidation = causesValidation;
button.ValidationGroup = validationGroup;
}
controls.Add(buttonControl);
}
///
/// Initializes a cell within the column.
///
public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) {
base.InitializeCell(cell, columnIndex, itemType);
bool causesValidation = CausesValidation;
if ((itemType != ListItemType.Header) &&
(itemType != ListItemType.Footer)) {
if (itemType == ListItemType.EditItem) {
ControlCollection controls = cell.Controls;
AddButtonToCell(cell, DataGrid.UpdateCommandName, UpdateText, causesValidation, ValidationGroup);
LiteralControl spaceControl = new LiteralControl(" ");
controls.Add(spaceControl);
AddButtonToCell(cell, DataGrid.CancelCommandName, CancelText, false, String.Empty);
}
else {
AddButtonToCell(cell, DataGrid.EditCommandName, EditText, false, String.Empty);
}
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridViewTextBoxCell.cs
- ProxyHelper.cs
- SplashScreen.cs
- XmlSchemaSet.cs
- StorageMappingFragment.cs
- GridItemProviderWrapper.cs
- Route.cs
- ResizeGrip.cs
- SqlAliasesReferenced.cs
- HtmlInputSubmit.cs
- ExecutionScope.cs
- TypeConvertions.cs
- FragmentQueryKB.cs
- DbConnectionClosed.cs
- SqlBuffer.cs
- TemplateField.cs
- FixedBufferAttribute.cs
- WindowsPen.cs
- StreamAsIStream.cs
- SystemUdpStatistics.cs
- SqlWebEventProvider.cs
- HandoffBehavior.cs
- HashAlgorithm.cs
- AlgoModule.cs
- ProtocolsSection.cs
- BitmapImage.cs
- NaturalLanguageHyphenator.cs
- UTF32Encoding.cs
- Point3DConverter.cs
- XhtmlBasicSelectionListAdapter.cs
- NetworkStream.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- XmlEncoding.cs
- RegisteredScript.cs
- Msmq4SubqueuePoisonHandler.cs
- ActivityStateRecord.cs
- BoundingRectTracker.cs
- ZoneMembershipCondition.cs
- EncodingTable.cs
- ProviderSettings.cs
- StdRegProviderWrapper.cs
- ResourceContainer.cs
- BeginEvent.cs
- ContentWrapperAttribute.cs
- SqlUtil.cs
- WithStatement.cs
- FillErrorEventArgs.cs
- CodeNamespaceImportCollection.cs
- ManipulationDeltaEventArgs.cs
- AutoFocusStyle.xaml.cs
- PageEventArgs.cs
- WindowsToolbarItemAsMenuItem.cs
- StringKeyFrameCollection.cs
- SwitchElementsCollection.cs
- BaseHashHelper.cs
- CombinedHttpChannel.cs
- PrinterUnitConvert.cs
- NameNode.cs
- HttpWebResponse.cs
- LinkArea.cs
- DoubleLinkListEnumerator.cs
- ExpressionNode.cs
- DefaultHttpHandler.cs
- TypeSystemHelpers.cs
- EntityViewGenerationAttribute.cs
- DispatcherOperation.cs
- WeakReferenceList.cs
- CodeMemberField.cs
- SerializationStore.cs
- PermissionSetEnumerator.cs
- SystemIcons.cs
- BigInt.cs
- BufferAllocator.cs
- ImpersonationContext.cs
- X509UI.cs
- Subset.cs
- SqlCommandSet.cs
- XmlMtomReader.cs
- DbParameterHelper.cs
- Buffer.cs
- ConfigXmlText.cs
- RSAPKCS1SignatureDeformatter.cs
- MSG.cs
- ContextDataSourceContextData.cs
- CodeComment.cs
- EntityDataSourceSelectedEventArgs.cs
- SessionStateModule.cs
- AccessDataSource.cs
- BitmapSourceSafeMILHandle.cs
- CodeLabeledStatement.cs
- ConstraintManager.cs
- DataTemplate.cs
- OleDbConnectionFactory.cs
- PanelDesigner.cs
- AddInAdapter.cs
- UnsafeNativeMethods.cs
- TreeNodeBindingCollection.cs
- RowTypePropertyElement.cs
- WsdlWriter.cs
- Figure.cs