protected virtual void InitializeReadOnlyModeBinding() { List <Control> controlList = ViewHelpers.GetAllControls(this); foreach (Control control in controlList) { //if (control is TextBox) control.DataBindings.Add("Readonly", this, "ReadonlyMode"); if (control is TextBox) { control.DataBindings.Add("Enabled", this, "EditableMode"); } else if (control is ComboBox || control is DateTimePicker) { control.DataBindings.Add("Enabled", this, "EditableMode"); } else if (control is DataGridView) { control.DataBindings.Add("Readonly", this, "ReadonlyMode"); control.DataBindings.Add("AllowUserToAddRows", this, "EditableMode"); control.DataBindings.Add("AllowUserToDeleteRows", this, "EditableMode"); } } //this.FastObjectListView.DataBindings.Add("Enabled", this, "ReadonlyMode"); }
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 }