Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / SqlDataSourceQueryEditor.cs / 1 / SqlDataSourceQueryEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.WebControls { using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Drawing.Design; using System.Web.UI.Design.Util; using System.Web.UI.WebControls; using System.Windows.Forms; ////// The editor for SqlDataSource queries. /// internal sealed class SqlDataSourceQueryEditor : UITypeEditor { ////// Transacted change callback to invoke the Edit Query dialog. /// private bool EditQueryChangeCallback(object context) { SqlDataSource sqlDataSource = (SqlDataSource)((Pair)context).First; DataSourceOperation operation = (DataSourceOperation)((Pair)context).Second; IServiceProvider serviceProvider = sqlDataSource.Site; IDesignerHost designerHost = (IDesignerHost)serviceProvider.GetService(typeof(IDesignerHost)); Debug.Assert(designerHost != null, "Did not get DesignerHost service."); SqlDataSourceDesigner designer = (SqlDataSourceDesigner)designerHost.GetDesigner(sqlDataSource); ParameterCollection parameterCollection = null; string command = String.Empty; SqlDataSourceCommandType commandType = SqlDataSourceCommandType.Text; switch (operation) { case DataSourceOperation.Delete: parameterCollection = sqlDataSource.DeleteParameters; command = sqlDataSource.DeleteCommand; commandType = sqlDataSource.DeleteCommandType; break; case DataSourceOperation.Insert: parameterCollection = sqlDataSource.InsertParameters; command = sqlDataSource.InsertCommand; commandType = sqlDataSource.InsertCommandType; break; case DataSourceOperation.Select: parameterCollection = sqlDataSource.SelectParameters; command = sqlDataSource.SelectCommand; commandType = sqlDataSource.SelectCommandType; break; case DataSourceOperation.Update: parameterCollection = sqlDataSource.UpdateParameters; command = sqlDataSource.UpdateCommand; commandType = sqlDataSource.UpdateCommandType; break; } SqlDataSourceQueryEditorForm form = new SqlDataSourceQueryEditorForm(serviceProvider, designer, sqlDataSource.ProviderName, designer.ConnectionString, operation, commandType, command, parameterCollection); DialogResult result = UIServiceHelper.ShowDialog(serviceProvider, form); if (result == DialogResult.OK) { // We use the property descriptors to reset the values to // make sure we clear out any databindings or expressions that // may be set. PropertyDescriptor propDesc = null; switch (operation) { case DataSourceOperation.Delete: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["DeleteCommand"]; break; case DataSourceOperation.Insert: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["InsertCommand"]; break; case DataSourceOperation.Select: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["SelectCommand"]; break; case DataSourceOperation.Update: propDesc = TypeDescriptor.GetProperties(sqlDataSource)["UpdateCommand"]; break; } if (propDesc != null) { propDesc.ResetValue(sqlDataSource); propDesc.SetValue(sqlDataSource, form.Command); } else { Debug.Fail("Unexpected DataSourceOperation: " + operation); } return true; } else { return false; } } ////// Launches the editor for SqlDataSource queries. /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { ControlDesigner.InvokeTransactedChange( (IComponent)context.Instance, new TransactedChangeCallback(EditQueryChangeCallback), new Pair(context.Instance, value), SR.GetString(SR.SqlDataSourceDesigner_EditQueryTransactionDescription)); return value; } ////// Gets the editing style of the Edit method. /// public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { return UITypeEditorEditStyle.Modal; } } } // 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
- RsaElement.cs
- ValidationSummaryDesigner.cs
- UIElement3D.cs
- Site.cs
- WorkflowRuntimeEndpoint.cs
- SmtpReplyReaderFactory.cs
- Variable.cs
- TypeSource.cs
- UserNameSecurityToken.cs
- SiteMapProvider.cs
- PageTheme.cs
- ToggleButtonAutomationPeer.cs
- XamlInterfaces.cs
- ConstructorNeedsTagAttribute.cs
- Brush.cs
- IdentityElement.cs
- FrugalList.cs
- CaseStatement.cs
- DirectionalAction.cs
- WindowsTitleBar.cs
- GeometryDrawing.cs
- SqlNodeAnnotations.cs
- SpellerHighlightLayer.cs
- Pair.cs
- ToolStripPanelRow.cs
- SqlGenericUtil.cs
- KnownBoxes.cs
- MDIWindowDialog.cs
- DependencyPropertyValueSerializer.cs
- ValueChangedEventManager.cs
- PipelineModuleStepContainer.cs
- RemoveStoryboard.cs
- FixedSchema.cs
- DataGridTablesFactory.cs
- InvalidCastException.cs
- ToolboxBitmapAttribute.cs
- DBCommand.cs
- M3DUtil.cs
- BindValidator.cs
- FontInfo.cs
- FrameworkPropertyMetadata.cs
- WindowsComboBox.cs
- BuildProviderCollection.cs
- SignedInfo.cs
- DataSourceNameHandler.cs
- TypeResolver.cs
- NativeMethods.cs
- InkSerializer.cs
- TakeOrSkipQueryOperator.cs
- LinqDataSourceValidationException.cs
- DesignerActionUIService.cs
- ElementAction.cs
- UIAgentAsyncParams.cs
- UnsettableComboBox.cs
- ContentOperations.cs
- XmlUnspecifiedAttribute.cs
- ComplexLine.cs
- MessageOperationFormatter.cs
- DataGridViewControlCollection.cs
- SharedPerformanceCounter.cs
- WebServiceReceiveDesigner.cs
- UnmanagedMemoryStream.cs
- TreeNodeEventArgs.cs
- Main.cs
- CmsInterop.cs
- SplashScreen.cs
- ResourceProviderFactory.cs
- FormViewDeleteEventArgs.cs
- HandlerBase.cs
- ReadWriteObjectLock.cs
- EvidenceTypeDescriptor.cs
- ToolStripItemRenderEventArgs.cs
- TraceHandlerErrorFormatter.cs
- SQLCharsStorage.cs
- TokenizerHelper.cs
- OptimalTextSource.cs
- StylusButtonEventArgs.cs
- SchemaImporterExtensionElementCollection.cs
- TypeRefElement.cs
- TypeInfo.cs
- HtmlWindowCollection.cs
- ParserHooks.cs
- Rect3DConverter.cs
- PageParserFilter.cs
- CodeTypeParameter.cs
- StringSource.cs
- ComboBoxItem.cs
- ScriptManagerProxy.cs
- TraceSwitch.cs
- EmptyImpersonationContext.cs
- KeyValueConfigurationCollection.cs
- WebDescriptionAttribute.cs
- SQLBinaryStorage.cs
- _NtlmClient.cs
- CodeMemberMethod.cs
- CopyAttributesAction.cs
- Scripts.cs
- SharedUtils.cs
- Models.cs
- ProfileService.cs