Exemple #1
0
        protected virtual void InitializeReadOnlyModeBinding()
        {
            List <Control> controlList = ViewHelpers.GetAllControls(this);

            foreach (Control control in controlList)
            {
                IControlExtension controlExtension = control as IControlExtension;
                if (controlExtension != null)
                {
                    if (controlExtension.Editable)
                    {
                        control.DataBindings.Add("ReadOnly", this, "ReadonlyMode");
                    }
                    else
                    {
                        controlExtension.ReadOnly = true;
                    }

                    if (control is DataGridexView)
                    {
                        DataGridexView dataGridexView = control as DataGridexView;
                        if (dataGridexView != null && dataGridexView.AllowAddRow)
                        {
                            control.DataBindings.Add("AllowUserToAddRows", this, "EditableMode");
                        }
                        else
                        {
                            ((DataGridView)control).AllowUserToAddRows = false;
                        }

                        if (dataGridexView != null && dataGridexView.AllowDeleteRow)
                        {
                            control.DataBindings.Add("AllowUserToDeleteRows", this, "EditableMode");
                        }
                        else
                        {
                            ((DataGridView)control).AllowUserToDeleteRows = false;
                        }
                    }
                }
                else
                if (control is CheckBox)
                {
                    control.DataBindings.Add("Enabled", this, "EditableMode");
                }
            }

            //this.fastListIndex.DataBindings.Add("Enabled", this, "ReadonlyMode"); //HERE: WE DON'T LOCK fastListIndex.Enabled TO ReadonlyMode, INSTEAD: WE HANDLE fastListIndex.MouseClick AND fastListIndex.KeyDown TO KEEP THE CURRENT ROW OF fastListIndex WHEN EditableMode
        }
Exemple #2
0
        protected virtual void InitializeDataGridReadonlyColumns(DataGridexView dataGridView)
        {
            DataGridColumnNames dataGridColumnNames = new DataGridColumnNames()
            {
                DataGridView = dataGridView
            };

            foreach (DataGridViewColumn dataGridViewColumn in dataGridView.Columns)
            {
                if (dataGridViewColumn.ReadOnly)
                {
                    dataGridColumnNames.ColumnNames.Add(dataGridViewColumn.Name);
                }
            }
            this.readOnlyDataGridColumnNames.Add(dataGridColumnNames);
        }
Exemple #3
0
 protected virtual void dataGrid_ReadOnlyChanged(object sender, EventArgs e)
 {
     foreach (DataGridColumnNames dataGridColumnNames in this.readOnlyDataGridColumnNames)
     {
         if (sender.Equals(dataGridColumnNames.DataGridView))
         {
             DataGridexView dataGridexView = sender as DataGridexView;
             foreach (string columnName in dataGridColumnNames.ColumnNames)
             {
                 if (dataGridexView.Columns[columnName] != null)
                 {
                     dataGridexView.Columns[columnName].ReadOnly = true;
                 }
             }
         }
     }
 }