Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / CommandField.cs / 1 / CommandField.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing.Design;
using System.Globalization;
using System.Security.Permissions;
///
/// Creates a special field 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 CommandField : ButtonFieldBase {
///
/// Initializes a new instance of an class.
///
public CommandField() {
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_CancelImageUrl),
UrlProperty()
]
public virtual string CancelImageUrl {
get {
object o = ViewState["CancelImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["CancelImageUrl"])) {
ViewState["CancelImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultCancelCaption),
WebSysDescription(SR.CommandField_CancelText)
]
public virtual string CancelText {
get {
object text = ViewState["CancelText"];
return text == null ? SR.GetString(SR.CommandField_DefaultCancelCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["CancelText"])) {
ViewState["CancelText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(true),
WebSysDescription(SR.ButtonFieldBase_CausesValidation)
]
public override bool CausesValidation {
get {
object o = ViewState["CausesValidation"];
if (o != null) {
return (bool)o;
}
return true;
}
set {
base.CausesValidation = value;
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_DeleteImageUrl),
UrlProperty()
]
public virtual string DeleteImageUrl {
get {
object o = ViewState["DeleteImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["DeleteImageUrl"])) {
ViewState["DeleteImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button in
/// the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultDeleteCaption),
WebSysDescription(SR.CommandField_DeleteText)
]
public virtual string DeleteText {
get {
object text = ViewState["DeleteText"];
return text == null ? SR.GetString(SR.CommandField_DefaultDeleteCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["DeleteText"])) {
ViewState["DeleteText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_EditImageUrl),
UrlProperty()
]
public virtual string EditImageUrl {
get {
object o = ViewState["EditImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["EditImageUrl"])) {
ViewState["EditImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button in
/// the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultEditCaption),
WebSysDescription(SR.CommandField_EditText)
]
public virtual string EditText {
get {
object text = ViewState["EditText"];
return text == null ? SR.GetString(SR.CommandField_DefaultEditCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["EditText"])) {
ViewState["EditText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_InsertImageUrl),
UrlProperty()
]
public virtual string InsertImageUrl {
get {
object o = ViewState["InsertImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["InsertImageUrl"])) {
ViewState["InsertImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultInsertCaption),
WebSysDescription(SR.CommandField_InsertText)
]
public virtual string InsertText {
get {
object text = ViewState["InsertText"];
return text == null ? SR.GetString(SR.CommandField_DefaultInsertCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["InsertText"])) {
ViewState["InsertText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_NewImageUrl),
UrlProperty()
]
public virtual string NewImageUrl {
get {
object o = ViewState["NewImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["NewImageUrl"])) {
ViewState["NewImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultNewCaption),
WebSysDescription(SR.CommandField_NewText)
]
public virtual string NewText {
get {
object text = ViewState["NewText"];
return text == null ? SR.GetString(SR.CommandField_DefaultNewCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["NewText"])) {
ViewState["NewText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_SelectImageUrl),
UrlProperty()
]
public virtual string SelectImageUrl {
get {
object o = ViewState["SelectImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["SelectImageUrl"])) {
ViewState["SelectImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultSelectCaption),
WebSysDescription(SR.CommandField_SelectText)
]
public virtual string SelectText {
get {
object text = ViewState["SelectText"];
return text == null ? SR.GetString(SR.CommandField_DefaultSelectCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["SelectText"])) {
ViewState["SelectText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(true),
WebSysDescription(SR.CommandField_ShowCancelButton)
]
public virtual bool ShowCancelButton {
get {
object o = ViewState["ShowCancelButton"];
if (o != null) {
return (bool)o;
}
return true;
}
set {
object oldValue = ViewState["ShowCancelButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowCancelButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowDeleteButton)
]
public virtual bool ShowDeleteButton {
get {
object o = ViewState["ShowDeleteButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowDeleteButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowDeleteButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowEditButton)
]
public virtual bool ShowEditButton {
get {
object o = ViewState["ShowEditButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowEditButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowEditButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowSelectButton)
]
public virtual bool ShowSelectButton {
get {
object o = ViewState["ShowSelectButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowSelectButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowSelectButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowInsertButton)
]
public virtual bool ShowInsertButton {
get {
object o = ViewState["ShowInsertButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowInsertButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowInsertButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_UpdateImageUrl),
UrlProperty()
]
public virtual string UpdateImageUrl {
get {
object o = ViewState["UpdateImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["UpdateImageUrl"])) {
ViewState["UpdateImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultUpdateCaption),
WebSysDescription(SR.CommandField_UpdateText)
]
public virtual string UpdateText {
get {
object text = ViewState["UpdateText"];
return text == null ? SR.GetString(SR.CommandField_DefaultUpdateCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["UpdateText"])) {
ViewState["UpdateText"] = value;
OnFieldChanged();
}
}
}
private void AddButtonToCell(DataControlFieldCell cell, string commandName, string buttonText, bool causesValidation, string validationGroup, int rowIndex, string imageUrl) {
IButtonControl button;
IPostBackContainer container = Control as IPostBackContainer;
bool setCausesValidation = true; // the setter on the DataControlButtons throw if there's a container for security
switch (ButtonType) {
case ButtonType.Link: {
if (container != null && !causesValidation) {
button = new DataControlLinkButton(container);
setCausesValidation = false;
}
else {
button = new DataControlLinkButton(null);
}
break;
}
case ButtonType.Button: {
if (container != null && !causesValidation) {
button = new DataControlButton(container);
setCausesValidation = false;
}
else {
button = new Button();
}
break;
}
case ButtonType.Image:
default: {
if (container != null && !causesValidation) {
button = new DataControlImageButton(container);
setCausesValidation = false;
}
else {
button = new ImageButton();
}
((ImageButton)button).ImageUrl = imageUrl;
break;
}
}
button.Text = buttonText;
button.CommandName = commandName;
button.CommandArgument = rowIndex.ToString(CultureInfo.InvariantCulture);
if (setCausesValidation) {
button.CausesValidation = causesValidation;
}
button.ValidationGroup = validationGroup;
cell.Controls.Add((WebControl)button);
}
protected override void CopyProperties(DataControlField newField) {
((CommandField)newField).CancelImageUrl = CancelImageUrl;
((CommandField)newField).CancelText = CancelText;
((CommandField)newField).DeleteImageUrl = DeleteImageUrl;
((CommandField)newField).DeleteText = DeleteText;
((CommandField)newField).EditImageUrl = EditImageUrl;
((CommandField)newField).EditText = EditText;
((CommandField)newField).InsertImageUrl = InsertImageUrl;
((CommandField)newField).InsertText = InsertText;
((CommandField)newField).NewImageUrl = NewImageUrl;
((CommandField)newField).NewText = NewText;
((CommandField)newField).SelectImageUrl = SelectImageUrl;
((CommandField)newField).SelectText = SelectText;
((CommandField)newField).UpdateImageUrl = UpdateImageUrl;
((CommandField)newField).UpdateText = UpdateText;
((CommandField)newField).ShowCancelButton = ShowCancelButton;
((CommandField)newField).ShowDeleteButton = ShowDeleteButton;
((CommandField)newField).ShowEditButton = ShowEditButton;
((CommandField)newField).ShowSelectButton = ShowSelectButton;
((CommandField)newField).ShowInsertButton = ShowInsertButton;
base.CopyProperties(newField);
}
protected override DataControlField CreateField() {
return new CommandField();
}
///
/// Initializes a cell within the field.
///
public override void InitializeCell(DataControlFieldCell cell, DataControlCellType cellType, DataControlRowState rowState, int rowIndex) {
base.InitializeCell(cell, cellType, rowState, rowIndex);
bool showEditButton = ShowEditButton;
bool showDeleteButton = ShowDeleteButton;
bool showInsertButton = ShowInsertButton;
bool showSelectButton = ShowSelectButton;
bool showCancelButton = ShowCancelButton;
bool isFirstButton = true;
bool causesValidation = CausesValidation;
string validationGroup = ValidationGroup;
LiteralControl spaceControl;
if (cellType == DataControlCellType.DataCell) {
if ((rowState & (DataControlRowState.Edit | DataControlRowState.Insert)) != 0) {
if ((rowState & DataControlRowState.Edit) != 0 && showEditButton) {
AddButtonToCell(cell, DataControlCommands.UpdateCommandName, UpdateText, causesValidation, validationGroup, rowIndex, UpdateImageUrl);
if (showCancelButton) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
AddButtonToCell(cell, DataControlCommands.CancelCommandName, CancelText, false, String.Empty, rowIndex, CancelImageUrl);
}
}
if ((rowState & DataControlRowState.Insert) != 0 && showInsertButton) {
AddButtonToCell(cell, DataControlCommands.InsertCommandName, InsertText, causesValidation, validationGroup, rowIndex, InsertImageUrl);
if (showCancelButton) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
AddButtonToCell(cell, DataControlCommands.CancelCommandName, CancelText, false, String.Empty, rowIndex, CancelImageUrl);
}
}
}
else {
if (showEditButton) {
AddButtonToCell(cell, DataControlCommands.EditCommandName, EditText, false, String.Empty, rowIndex, EditImageUrl);
isFirstButton = false;
}
if (showDeleteButton) {
if (isFirstButton == false) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
}
AddButtonToCell(cell, DataControlCommands.DeleteCommandName, DeleteText, false, String.Empty, rowIndex, DeleteImageUrl);
isFirstButton = false;
}
if (showInsertButton) {
if (isFirstButton == false) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
}
AddButtonToCell(cell, DataControlCommands.NewCommandName, NewText, false, String.Empty, rowIndex, NewImageUrl);
isFirstButton = false;
}
if (showSelectButton) {
if (isFirstButton == false) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
}
AddButtonToCell(cell, DataControlCommands.SelectCommandName, SelectText, false, String.Empty, rowIndex, SelectImageUrl);
isFirstButton = false;
}
}
}
}
///
/// Override with an empty body if the field's controls all support callback.
/// Otherwise, override and throw a useful error message about why the field can't support callbacks.
///
public override void ValidateSupportsCallback() {
if (ShowSelectButton) {
throw new NotSupportedException(SR.GetString(SR.CommandField_CallbacksNotSupported, Control.ID));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing.Design;
using System.Globalization;
using System.Security.Permissions;
///
/// Creates a special field 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 CommandField : ButtonFieldBase {
///
/// Initializes a new instance of an class.
///
public CommandField() {
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_CancelImageUrl),
UrlProperty()
]
public virtual string CancelImageUrl {
get {
object o = ViewState["CancelImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["CancelImageUrl"])) {
ViewState["CancelImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultCancelCaption),
WebSysDescription(SR.CommandField_CancelText)
]
public virtual string CancelText {
get {
object text = ViewState["CancelText"];
return text == null ? SR.GetString(SR.CommandField_DefaultCancelCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["CancelText"])) {
ViewState["CancelText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(true),
WebSysDescription(SR.ButtonFieldBase_CausesValidation)
]
public override bool CausesValidation {
get {
object o = ViewState["CausesValidation"];
if (o != null) {
return (bool)o;
}
return true;
}
set {
base.CausesValidation = value;
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_DeleteImageUrl),
UrlProperty()
]
public virtual string DeleteImageUrl {
get {
object o = ViewState["DeleteImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["DeleteImageUrl"])) {
ViewState["DeleteImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button in
/// the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultDeleteCaption),
WebSysDescription(SR.CommandField_DeleteText)
]
public virtual string DeleteText {
get {
object text = ViewState["DeleteText"];
return text == null ? SR.GetString(SR.CommandField_DefaultDeleteCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["DeleteText"])) {
ViewState["DeleteText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_EditImageUrl),
UrlProperty()
]
public virtual string EditImageUrl {
get {
object o = ViewState["EditImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["EditImageUrl"])) {
ViewState["EditImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button in
/// the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultEditCaption),
WebSysDescription(SR.CommandField_EditText)
]
public virtual string EditText {
get {
object text = ViewState["EditText"];
return text == null ? SR.GetString(SR.CommandField_DefaultEditCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["EditText"])) {
ViewState["EditText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_InsertImageUrl),
UrlProperty()
]
public virtual string InsertImageUrl {
get {
object o = ViewState["InsertImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["InsertImageUrl"])) {
ViewState["InsertImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultInsertCaption),
WebSysDescription(SR.CommandField_InsertText)
]
public virtual string InsertText {
get {
object text = ViewState["InsertText"];
return text == null ? SR.GetString(SR.CommandField_DefaultInsertCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["InsertText"])) {
ViewState["InsertText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_NewImageUrl),
UrlProperty()
]
public virtual string NewImageUrl {
get {
object o = ViewState["NewImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["NewImageUrl"])) {
ViewState["NewImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultNewCaption),
WebSysDescription(SR.CommandField_NewText)
]
public virtual string NewText {
get {
object text = ViewState["NewText"];
return text == null ? SR.GetString(SR.CommandField_DefaultNewCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["NewText"])) {
ViewState["NewText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_SelectImageUrl),
UrlProperty()
]
public virtual string SelectImageUrl {
get {
object o = ViewState["SelectImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["SelectImageUrl"])) {
ViewState["SelectImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultSelectCaption),
WebSysDescription(SR.CommandField_SelectText)
]
public virtual string SelectText {
get {
object text = ViewState["SelectText"];
return text == null ? SR.GetString(SR.CommandField_DefaultSelectCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["SelectText"])) {
ViewState["SelectText"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(true),
WebSysDescription(SR.CommandField_ShowCancelButton)
]
public virtual bool ShowCancelButton {
get {
object o = ViewState["ShowCancelButton"];
if (o != null) {
return (bool)o;
}
return true;
}
set {
object oldValue = ViewState["ShowCancelButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowCancelButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowDeleteButton)
]
public virtual bool ShowDeleteButton {
get {
object o = ViewState["ShowDeleteButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowDeleteButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowDeleteButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowEditButton)
]
public virtual bool ShowEditButton {
get {
object o = ViewState["ShowEditButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowEditButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowEditButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowSelectButton)
]
public virtual bool ShowSelectButton {
get {
object o = ViewState["ShowSelectButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowSelectButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowSelectButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.CommandField_ShowInsertButton)
]
public virtual bool ShowInsertButton {
get {
object o = ViewState["ShowInsertButton"];
if (o != null) {
return (bool)o;
}
return false;
}
set {
object oldValue = ViewState["ShowInsertButton"];
if (oldValue == null || (bool)oldValue != value) {
ViewState["ShowInsertButton"] = value;
OnFieldChanged();
}
}
}
[
WebCategory("Appearance"),
DefaultValue(""),
Editor("System.Web.UI.Design.ImageUrlEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)),
WebSysDescription(SR.CommandField_UpdateImageUrl),
UrlProperty()
]
public virtual string UpdateImageUrl {
get {
object o = ViewState["UpdateImageUrl"];
if (o != null) {
return (string)o;
}
return String.Empty;
}
set {
if (!String.Equals(value, ViewState["UpdateImageUrl"])) {
ViewState["UpdateImageUrl"] = value;
OnFieldChanged();
}
}
}
///
/// Indicates the text to display for the command button
/// in the field.
///
[
WebCategory("Appearance"),
Localizable(true),
WebSysDefaultValue(SR.CommandField_DefaultUpdateCaption),
WebSysDescription(SR.CommandField_UpdateText)
]
public virtual string UpdateText {
get {
object text = ViewState["UpdateText"];
return text == null ? SR.GetString(SR.CommandField_DefaultUpdateCaption) : (string)text;
}
set {
if (!String.Equals(value, ViewState["UpdateText"])) {
ViewState["UpdateText"] = value;
OnFieldChanged();
}
}
}
private void AddButtonToCell(DataControlFieldCell cell, string commandName, string buttonText, bool causesValidation, string validationGroup, int rowIndex, string imageUrl) {
IButtonControl button;
IPostBackContainer container = Control as IPostBackContainer;
bool setCausesValidation = true; // the setter on the DataControlButtons throw if there's a container for security
switch (ButtonType) {
case ButtonType.Link: {
if (container != null && !causesValidation) {
button = new DataControlLinkButton(container);
setCausesValidation = false;
}
else {
button = new DataControlLinkButton(null);
}
break;
}
case ButtonType.Button: {
if (container != null && !causesValidation) {
button = new DataControlButton(container);
setCausesValidation = false;
}
else {
button = new Button();
}
break;
}
case ButtonType.Image:
default: {
if (container != null && !causesValidation) {
button = new DataControlImageButton(container);
setCausesValidation = false;
}
else {
button = new ImageButton();
}
((ImageButton)button).ImageUrl = imageUrl;
break;
}
}
button.Text = buttonText;
button.CommandName = commandName;
button.CommandArgument = rowIndex.ToString(CultureInfo.InvariantCulture);
if (setCausesValidation) {
button.CausesValidation = causesValidation;
}
button.ValidationGroup = validationGroup;
cell.Controls.Add((WebControl)button);
}
protected override void CopyProperties(DataControlField newField) {
((CommandField)newField).CancelImageUrl = CancelImageUrl;
((CommandField)newField).CancelText = CancelText;
((CommandField)newField).DeleteImageUrl = DeleteImageUrl;
((CommandField)newField).DeleteText = DeleteText;
((CommandField)newField).EditImageUrl = EditImageUrl;
((CommandField)newField).EditText = EditText;
((CommandField)newField).InsertImageUrl = InsertImageUrl;
((CommandField)newField).InsertText = InsertText;
((CommandField)newField).NewImageUrl = NewImageUrl;
((CommandField)newField).NewText = NewText;
((CommandField)newField).SelectImageUrl = SelectImageUrl;
((CommandField)newField).SelectText = SelectText;
((CommandField)newField).UpdateImageUrl = UpdateImageUrl;
((CommandField)newField).UpdateText = UpdateText;
((CommandField)newField).ShowCancelButton = ShowCancelButton;
((CommandField)newField).ShowDeleteButton = ShowDeleteButton;
((CommandField)newField).ShowEditButton = ShowEditButton;
((CommandField)newField).ShowSelectButton = ShowSelectButton;
((CommandField)newField).ShowInsertButton = ShowInsertButton;
base.CopyProperties(newField);
}
protected override DataControlField CreateField() {
return new CommandField();
}
///
/// Initializes a cell within the field.
///
public override void InitializeCell(DataControlFieldCell cell, DataControlCellType cellType, DataControlRowState rowState, int rowIndex) {
base.InitializeCell(cell, cellType, rowState, rowIndex);
bool showEditButton = ShowEditButton;
bool showDeleteButton = ShowDeleteButton;
bool showInsertButton = ShowInsertButton;
bool showSelectButton = ShowSelectButton;
bool showCancelButton = ShowCancelButton;
bool isFirstButton = true;
bool causesValidation = CausesValidation;
string validationGroup = ValidationGroup;
LiteralControl spaceControl;
if (cellType == DataControlCellType.DataCell) {
if ((rowState & (DataControlRowState.Edit | DataControlRowState.Insert)) != 0) {
if ((rowState & DataControlRowState.Edit) != 0 && showEditButton) {
AddButtonToCell(cell, DataControlCommands.UpdateCommandName, UpdateText, causesValidation, validationGroup, rowIndex, UpdateImageUrl);
if (showCancelButton) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
AddButtonToCell(cell, DataControlCommands.CancelCommandName, CancelText, false, String.Empty, rowIndex, CancelImageUrl);
}
}
if ((rowState & DataControlRowState.Insert) != 0 && showInsertButton) {
AddButtonToCell(cell, DataControlCommands.InsertCommandName, InsertText, causesValidation, validationGroup, rowIndex, InsertImageUrl);
if (showCancelButton) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
AddButtonToCell(cell, DataControlCommands.CancelCommandName, CancelText, false, String.Empty, rowIndex, CancelImageUrl);
}
}
}
else {
if (showEditButton) {
AddButtonToCell(cell, DataControlCommands.EditCommandName, EditText, false, String.Empty, rowIndex, EditImageUrl);
isFirstButton = false;
}
if (showDeleteButton) {
if (isFirstButton == false) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
}
AddButtonToCell(cell, DataControlCommands.DeleteCommandName, DeleteText, false, String.Empty, rowIndex, DeleteImageUrl);
isFirstButton = false;
}
if (showInsertButton) {
if (isFirstButton == false) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
}
AddButtonToCell(cell, DataControlCommands.NewCommandName, NewText, false, String.Empty, rowIndex, NewImageUrl);
isFirstButton = false;
}
if (showSelectButton) {
if (isFirstButton == false) {
spaceControl = new LiteralControl(" ");
cell.Controls.Add(spaceControl);
}
AddButtonToCell(cell, DataControlCommands.SelectCommandName, SelectText, false, String.Empty, rowIndex, SelectImageUrl);
isFirstButton = false;
}
}
}
}
///
/// Override with an empty body if the field's controls all support callback.
/// Otherwise, override and throw a useful error message about why the field can't support callbacks.
///
public override void ValidateSupportsCallback() {
if (ShowSelectButton) {
throw new NotSupportedException(SR.GetString(SR.CommandField_CallbacksNotSupported, Control.ID));
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataColumnPropertyDescriptor.cs
- RandomDelaySendsAsyncResult.cs
- ProvideValueServiceProvider.cs
- Utilities.cs
- _IPv4Address.cs
- exports.cs
- PathFigure.cs
- IisTraceWebEventProvider.cs
- BaseHashHelper.cs
- XsltCompileContext.cs
- RoutedCommand.cs
- MinMaxParagraphWidth.cs
- Membership.cs
- WizardStepBase.cs
- HMACMD5.cs
- SqlTransaction.cs
- COAUTHINFO.cs
- EnumType.cs
- DataGridViewRowPrePaintEventArgs.cs
- PersonalizationStateInfoCollection.cs
- WmlMobileTextWriter.cs
- SchemaElementDecl.cs
- SectionVisual.cs
- VirtualPathUtility.cs
- DefaultEvaluationContext.cs
- PolicyException.cs
- XmlHierarchicalEnumerable.cs
- WorkflowInspectionServices.cs
- BitmapEffectInputData.cs
- RepeaterItem.cs
- WebControlToolBoxItem.cs
- ToolZone.cs
- FileDialogCustomPlace.cs
- CultureInfoConverter.cs
- UnsafeNativeMethods.cs
- KerberosTokenFactoryCredential.cs
- StyleSheetRefUrlEditor.cs
- ManipulationCompletedEventArgs.cs
- AffineTransform3D.cs
- Cursors.cs
- DataGridColumnCollection.cs
- EdmScalarPropertyAttribute.cs
- Metadata.cs
- Polygon.cs
- Vector3DAnimation.cs
- StrokeIntersection.cs
- ViewSimplifier.cs
- ResetableIterator.cs
- OLEDB_Enum.cs
- WindowsFormsHostAutomationPeer.cs
- SystemIcmpV4Statistics.cs
- CommonGetThemePartSize.cs
- XmlSortKeyAccumulator.cs
- OleDbCommandBuilder.cs
- TextRunTypographyProperties.cs
- ZeroOpNode.cs
- Section.cs
- SqlClientMetaDataCollectionNames.cs
- DataFormats.cs
- MessageFilterTable.cs
- BidPrivateBase.cs
- X500Name.cs
- PlaceHolder.cs
- SQLInt16.cs
- Int32AnimationBase.cs
- SymLanguageVendor.cs
- XmlComment.cs
- FolderBrowserDialog.cs
- SharedDp.cs
- CmsUtils.cs
- PeerNearMe.cs
- EntitySqlQueryBuilder.cs
- ObjectStateManager.cs
- TextEditorTables.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- DataColumnCollection.cs
- OdbcEnvironment.cs
- AccessControlEntry.cs
- CellParagraph.cs
- VerificationException.cs
- Content.cs
- UInt32Converter.cs
- MdiWindowListItemConverter.cs
- SerTrace.cs
- View.cs
- CodeDesigner.cs
- StreamGeometry.cs
- MetaModel.cs
- SymLanguageVendor.cs
- TCPClient.cs
- SortDescription.cs
- SafeNativeMemoryHandle.cs
- StateDesigner.LayoutSelectionGlyph.cs
- Listbox.cs
- IfJoinedCondition.cs
- MetadataHelper.cs
- MainMenu.cs
- ScriptManager.cs
- SafeCoTaskMem.cs
- CacheSection.cs