示例#1
0
 /// <summary>
 /// Добавить кнопку удаления в сплывающее меню
 /// </summary>
 private void DeleteButtonInPopupMenu()
 {
     if (!OptionsCustomization.AllowDelete)
     {
         //                var item = CustomPopupMenu.ItemLinks
         //                    .OfType<BarButtonItemLink>()
         //                    .FirstOrDefault(l => l.Item == ButtonRemove);
         //                if (item != null)
         //                    CustomPopupMenu.ItemLinks.Remove(item);
         ButtonRemove.Enabled = false;
         return;
     }
     var erg = new EventRowHandlerArgs(InvalidRowHandle);
     DoCheckDeleteRow.Raise(this, erg);
     if (erg.Cancel)
     {
         return;
     }
     if (ButtonRemove.Links.Count == 0)
         CustomPopupMenu.ItemLinks.Add(ButtonRemove);
     ButtonRemove.Enabled = SelectedRowsCount != 0;
 }
示例#2
0
 /// <summary>
 /// Добавить кнопку добавления в сплывающее меню
 /// </summary>
 private void AddButtonInPopupMenu()
 {
     if (!OptionsCustomization.AllowAdd)
     {
         ButtonAddRow.Enabled = false;
         //                var item = CustomPopupMenu.ItemLinks
         //                    .OfType<BarButtonItemLink>()
         //                    .FirstOrDefault(l => l.Item == ButtonRemove);
         //                if(item != null)
         //                    CustomPopupMenu.ItemLinks.Remove(item);
         return;
     }
     var erg = new EventRowHandlerArgs(InvalidRowHandle);
     DoCheckAddRow.Raise(this, erg);
     if (erg.Cancel)
     {
         return;
     }
     if (OptionsCustomization.AllowAdd && ButtonAddRow.Links.Count == 0)
         CustomPopupMenu.ItemLinks.Add(ButtonAddRow);
 }
示例#3
0
 /// <summary>
 /// Изменить значение у выделенных строк данной колонки
 /// </summary>
 /// <param name="column">Колонка, для которой необходимо изменить значение</param>
 /// <param name="value">Значение, на которое мы меняем</param>
 private void ChangeSelectedRowValue(GridColumn column, object value)
 {
     BeginDataUpdate();
     try
     {
         foreach (var rowHandle in GetSelectedRows())
         {
             if (CheckRowBeforeChangeValue != null)
             {
                 var erg = new EventRowHandlerArgs(rowHandle);
                 CheckRowBeforeChangeValue.Raise(this, erg);
                 if (erg.Cancel)
                 {
                     continue;
                 }
             }
             SetRowCellValue(rowHandle, column, value);
         }
     }
     finally
     {
         EndDataUpdate();
     }
 }
示例#4
0
 /// <summary>
 /// Проверка таблицы на возможность удаления данных и удаление выделенных строк
 /// </summary>
 public void RemoveRowsButtonClick()
 {
     if (!OptionsCustomization.AllowDelete || State != GridState.Normal)
     {
         return;
     }
     var erg = new EventRowHandlerArgs(InvalidRowHandle);
     DoCheckDeleteRow.Raise(this, erg);
     if (erg.Cancel)
     {
         return;
     }
     if (OptionsCustomization.AllowSelectionColumn && SelectedRowsCount == 0)
     {
         MessageWindow.GetInstance("Выберите записи, которые хотите удалить", MessageType.Info);
         return;
     }
     if (XtraMessageBox.Show(MsgDelete, "Удаление данных",
         MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
     {
         return;
     }
     var data = GetSelectedObjectRows();
     if (DoBeforeDeleteRow != null && !DoBeforeDeleteRow(data))
     {
         return;
     }
     if (OptionsCustomization.AllowSelectionColumn)
     {
         DeleteSelectedRows();
     }
     else
     {
         DeleteRow(FocusedRowHandle);
     }
     if (DoAfterDeleteRow != null)
     {
         DoAfterDeleteRow(data);
     }
     else
     {
         var form = GridControl.FindForm() as CommonChildForm;
         if (form != null && form.CheckDBContext(data))
             form.DeleteFromDBContext(data);
     }
 }
示例#5
0
 /// <summary>
 ///     Кастомное изображение на столбце индикатора
 /// </summary>
 public void ImageCustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
 {
     var view = (CommonGridView)sender;
     if (e.RowHandle < 0 || view.IndicatorImage == null)
     {
         return;
     }
     var erg = new EventRowHandlerArgs(e.RowHandle);
     view.DoCheckBeforeDrawIndicator.Raise(this, erg);
     if (erg.Cancel)
     {
         return;
     }
     e.Info.ImageIndex = -1;
     e.Painter.DrawObject(e.Info);
     var r = e.Bounds;
     r.Inflate(-1, -1);
     var x = r.X + (r.Width - view.IndicatorImage.Size.Width) / 2;
     var y = r.Y + (r.Height - view.IndicatorImage.Size.Height) / 2;
     e.Graphics.DrawImageUnscaled(view.IndicatorImage, x, y);
     e.Handled = true;
 }
示例#6
0
 /// <summary>
 /// Проверка таблицы на возможность добавления данных и добавление новой строки
 /// </summary>
 public void AddRowButtonClick()
 {
     if (!OptionsCustomization.AllowAdd)
     {
         return;
     }
     try
     {
         //BeginDataUpdate();
         var erg = new EventRowHandlerArgs(InvalidRowHandle);
         DoCheckAddRow.Raise(this, erg);
         if (erg.Cancel)
         {
             return;
         }
         erg = new EventRowHandlerArgs(InvalidRowHandle);
         DoBeforeAddRow.Raise(this, erg);
         if (erg.Cancel)
         {
             return;
         }
         object item = null;
         if (DoInsteadAddRow != null)
         {
             item = DoInsteadAddRow();
         }
         else
         {
             var bs = DataSource as BindingSource;
             if (bs != null)
             {
                 item = bs.AddNew();
             }
             else
                 AddNewRow();
         }
         if (DoAfterAddRow == null)
         {
             if (item == null || !item.GetType().FullName.Contains("ServerInformation"))
             {
                 return;
             }
             var form = GridControl.FindForm() as CommonChildForm;
             if (form != null)
                 form.AddToDBContext(item);
             return;
         }
         if (item != null)
         {
             DoAfterAddRow(item);
             return;
         }
         var rowHandle = GetRowHandle(DataRowCount);
         if (IsNewItemRow(rowHandle))
         {
             DoAfterAddRow(GetRow(rowHandle));
         }
     }
     finally
     {
         //EndDataUpdate();
     }
 }
 private void RoleDoCheckBeforeDrawIndicator(object sender, EventRowHandlerArgs e)
 {
     var role = (Role)((GridView)sender).GetRow(e.RowHandler);
     e.Cancel = role == null || !role.IsAdmin;
 }
 private void CheckBeforeDrawImage(object sender, EventRowHandlerArgs e)
 {
     var user = (User)((GridView)sender).GetRow(e.RowHandler);
     e.Cancel = user == null || !user.IsLocked;
 }