Code:
/ FX-1434 / FX-1434 / 1.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
- DataPagerFieldCollection.cs
- UrlAuthorizationModule.cs
- DataGridColumnCollection.cs
- WorkflowItemPresenter.cs
- NotifyParentPropertyAttribute.cs
- RenderOptions.cs
- XmlAttribute.cs
- CookieParameter.cs
- ExternalFile.cs
- XslException.cs
- XmlSerializerObjectSerializer.cs
- BufferBuilder.cs
- ImportCatalogPart.cs
- OrderByQueryOptionExpression.cs
- MouseEventArgs.cs
- SamlAuthorizationDecisionClaimResource.cs
- HttpApplicationFactory.cs
- HMACMD5.cs
- CompensatableTransactionScopeActivityDesigner.cs
- TextDecoration.cs
- PenContext.cs
- TraceAsyncResult.cs
- ImageCodecInfo.cs
- Domain.cs
- EventLogPermissionAttribute.cs
- DataGridTableCollection.cs
- Int32.cs
- DisplayMemberTemplateSelector.cs
- BitmapVisualManager.cs
- SettingsProperty.cs
- _OverlappedAsyncResult.cs
- EntityClassGenerator.cs
- TraceListener.cs
- RequestResizeEvent.cs
- PersistChildrenAttribute.cs
- DependencyPropertyHelper.cs
- ToolStripItemClickedEventArgs.cs
- ListBoxItem.cs
- CounterCreationDataConverter.cs
- SqlGenerator.cs
- ProbeRequestResponseAsyncResult.cs
- QueueAccessMode.cs
- TdsEnums.cs
- ProviderSettings.cs
- ASCIIEncoding.cs
- Selection.cs
- DirectionalLight.cs
- _emptywebproxy.cs
- EncodingInfo.cs
- LineBreakRecord.cs
- XmlTextWriter.cs
- SessionStateUtil.cs
- BooleanAnimationBase.cs
- ResourceAssociationSet.cs
- ToolboxDataAttribute.cs
- SerialStream.cs
- PasswordBoxAutomationPeer.cs
- FormatterConverter.cs
- ResourceAssociationType.cs
- Gdiplus.cs
- ToolStrip.cs
- InvalidEnumArgumentException.cs
- ConfigXmlText.cs
- ImportedPolicyConversionContext.cs
- DataTableNewRowEvent.cs
- NamespaceMapping.cs
- Attributes.cs
- ElementUtil.cs
- CodeDelegateCreateExpression.cs
- ProjectionPathBuilder.cs
- HierarchicalDataBoundControl.cs
- PolicyManager.cs
- DataKeyArray.cs
- ListBindableAttribute.cs
- OleDbConnectionInternal.cs
- Comparer.cs
- CustomGrammar.cs
- Helper.cs
- JoinCqlBlock.cs
- RectAnimationUsingKeyFrames.cs
- SerializationInfoEnumerator.cs
- PackageDigitalSignature.cs
- NopReturnReader.cs
- NonVisualControlAttribute.cs
- ListViewCommandEventArgs.cs
- DataServiceRequestArgs.cs
- EventSinkActivityDesigner.cs
- HttpWebResponse.cs
- ContentWrapperAttribute.cs
- WasNotInstalledException.cs
- CategoryAttribute.cs
- IsolationInterop.cs
- Mutex.cs
- SspiSecurityToken.cs
- DataGridViewIntLinkedList.cs
- Misc.cs
- TemplateAction.cs
- EncryptedXml.cs
- XmlSchemaCollection.cs
- SeverityFilter.cs