예제 #1
0
 protected override bool ProcessDialogKey(Keys keyData)
 {
     if ((keyData & ~Keys.KeyCode) == Keys.None)
     {
         Keys keys = keyData & Keys.KeyCode;
         if (keys == Keys.Return)
         {
             IDesignerHost        service             = null;
             INameCreationService nameCreationService = null;
             IContainer           container           = null;
             service = this.liveDataGridView.Site.GetService(iDesignerHostType) as IDesignerHost;
             if (service != null)
             {
                 container = service.Container;
             }
             nameCreationService = this.liveDataGridView.DataGridControl.Site.GetService(iNameCreationServiceType) as INameCreationService;
             string errorString = string.Empty;
             if (ValidName(this.nameTextBox.Text, this.dataGridViewColumns, container, nameCreationService, this.liveDataGridView.Columns, !this.persistChangesToDesigner, out errorString))
             {
                 this.AddColumn();
                 base.Close();
             }
             else
             {
                 IUIService uiService = (IUIService)this.liveDataGridView.DataGridControl.Site.GetService(iUIServiceType);
                 ExtDataGridDesigner.ShowErrorDialog(uiService, errorString, this.liveDataGridView);
             }
             return(true);
         }
     }
     return(base.ProcessDialogKey(keyData));
 }
예제 #2
0
        private void AddColumn()
        {
            DataGridViewColumn dataGridViewColumn = Activator.CreateInstance(((ComboBoxItem)this.columnTypesCombo.SelectedItem).ColumnType) as DataGridViewColumn;
            bool flag = (this.dataGridViewColumns.Count > this.insertAtPosition) && this.dataGridViewColumns[this.insertAtPosition].Frozen;

            dataGridViewColumn.Frozen = flag;
            if (!this.persistChangesToDesigner)
            {
                dataGridViewColumn.HeaderText   = this.headerTextBox.Text;
                dataGridViewColumn.Name         = this.nameTextBox.Text;
                dataGridViewColumn.DisplayIndex = -1;
                this.dataGridViewColumns.Insert(this.insertAtPosition, dataGridViewColumn);
                this.insertAtPosition++;
            }
            dataGridViewColumn.HeaderText = this.headerTextBox.Text;
            dataGridViewColumn.Name       = this.nameTextBox.Text;
            dataGridViewColumn.Visible    = this.visibleCheckBox.Checked;
            dataGridViewColumn.Frozen     = this.frozenCheckBox.Checked || flag;
            dataGridViewColumn.ReadOnly   = this.readOnlyCheckBox.Checked;
            if (this.dataBoundColumnRadioButton.Checked && (this.dataColumns.SelectedIndex > -1))
            {
                dataGridViewColumn.DataPropertyName = ((ListBoxItem)this.dataColumns.SelectedItem).PropertyName;
            }
            if (this.persistChangesToDesigner)
            {
                try
                {
                    dataGridViewColumn.DisplayIndex = -1;
                    this.dataGridViewColumns.Insert(this.insertAtPosition, dataGridViewColumn);
                    this.insertAtPosition++;
                    this.liveDataGridView.DataGridControl.Site.Container.Add(dataGridViewColumn, dataGridViewColumn.Name);
                }
                catch (InvalidOperationException exception)
                {
                    IUIService uiService = (IUIService)this.liveDataGridView.DataGridControl.Site.GetService(typeof(IUIService));
                    ExtDataGridDesigner.ShowErrorDialog(uiService, exception, this.liveDataGridView);
                    return;
                }
            }
            PropertyDescriptor descriptor = TypeDescriptor.GetProperties(dataGridViewColumn)["UserAddedColumn"];

            if (descriptor != null)
            {
                descriptor.SetValue(dataGridViewColumn, true);
            }
            this.nameTextBox.Text = this.headerTextBox.Text = this.AssignName();
            this.nameTextBox.Focus();
        }
예제 #3
0
        private void nameTextBox_Validating(object sender, CancelEventArgs e)
        {
            IDesignerHost        service             = null;
            INameCreationService nameCreationService = null;
            IContainer           container           = null;

            service = this.liveDataGridView.Site.GetService(iDesignerHostType) as IDesignerHost;
            if (service != null)
            {
                container = service.Container;
            }
            nameCreationService = this.liveDataGridView.Site.GetService(iNameCreationServiceType) as INameCreationService;
            string errorString = string.Empty;

            if (!ValidName(this.nameTextBox.Text, this.dataGridViewColumns, container, nameCreationService, this.liveDataGridView.Columns, !this.persistChangesToDesigner, out errorString))
            {
                IUIService uiService = (IUIService)this.liveDataGridView.Site.GetService(iUIServiceType);
                ExtDataGridDesigner.ShowErrorDialog(uiService, errorString, this.liveDataGridView);
                e.Cancel = true;
            }
        }