/// <summary> /// Atribui edição das colunas /// </summary> /// <param name="pView">GridView</param> /// <param name="pColumns">Nome das Colunas</param> /// <param name="pEditable">True se Editável False se não editável</param> public static void SetEditable(this DataGridTreeView pView, List <String> pColumns, bool pEditable) { foreach (var item in pColumns) { pView.Columns[item].OptionsColumn.AllowEdit = pEditable; } }
/// <summary> /// Formata a coluna de acordo com o tipo especificado. /// </summary> /// <param name="pCollumn">A coluna do GridView.</param> /// <param name="pDataType">Tipo da coluna.</param> private static void CreateColumn(DataGridTreeView pTreeGridView, TableAdapterFieldCollection pTableColumns, params KeyValuePair <string, Dictionary <object, string> >[] pColumns) { foreach (TableAdapterField field in pTableColumns) { var columnList = (from p in pColumns where p.Key.Equals(field.Name) select new { Key = p.Key, Value = p.Value }).FirstOrDefault(); var hasCustomColumn = (columnList != null); var column = pTreeGridView.Columns.AddField(field.Name); column.Caption = field.Description; column.VisibleIndex = pTreeGridView.Columns.Count; if (hasCustomColumn) { var comboEdit = new TreeGridValidValuesColumn(column); foreach (var item in columnList.Value) { comboEdit.ValidValues.Add(item.Key, item.Value); } } else { FormatColumn(pTreeGridView.Columns[field.Name], field.GetDbType()); } } }
/// <summary> /// Atribiu a visibilidade das colunas /// </summary> /// <param name="pView">GridView</param> /// <param name="pColumns">Nome das Colunas</param> /// <param name="pVisible">True se visivel False se não visivel</param> public static void SetVisible(this DataGridTreeView pView, List <String> pColumns, bool pVisible) { foreach (var item in pColumns) { pView.Columns[item].Visible = pVisible; } }
/// <summary> /// Formata as colunas do grid de acordo com o objeto passado como parâmetro. /// </summary> /// <typeparam name="T">Um objeto do tipo TableAdapter.</typeparam> /// <param name="pGridView">O controle GridView.</param> /// <param name="pDB">Objeto do banco de dados</param> /// <param name="pColumns">Uma lista de colunas.</param> public static void FormatGrid <T>( this DataGridTreeView pGridView, DataBaseAdapter pDB, params KeyValuePair <string, Dictionary <object, string> >[] pColumns) where T : TableAdapter { var pObject = pDB.CreateObject <T>(); TreeGridViewExtention.CreateColumn(pGridView, pObject.Collumns, pColumns); }
/// <summary> /// Formata as colunas do grid de acordo com o objeto passado como parâmetro. /// </summary> /// <typeparam name="T">Um objeto do tipo TableAdapter (B1).</typeparam> /// <param name="pGridView">O controle GridView.</param> /// <param name="pCompanyDb">O nome da empresa no SAP.</param> public static void FormatGrid <T>(this DataGridTreeView pGridView, string pCompanyDb, params KeyValuePair <string, Dictionary <object, string> >[] pColumns) where T : TableAdapter, new() { T pObject = new T() { DBName = pCompanyDb }; TreeGridViewExtention.CreateColumn(pGridView, pObject.Collumns, pColumns); }
/// <summary> /// Define cor padrão, baseado no look and feel das telas do SAP /// </summary> /// <param name="pView">View da Grid</param> public static void SetColors(this DataGridTreeView pView) { var color = Color.FromArgb(244, 231, 156); pView.Appearance.FocusedCell.BackColor = color; pView.Appearance.FocusedCell.ForeColor = Color.Black; pView.Appearance.FocusedRow.BackColor = color; pView.Appearance.FocusedRow.ForeColor = Color.Black; pView.Appearance.SelectedRow.BackColor = color; pView.Appearance.SelectedRow.ForeColor = Color.Black; pView.Appearance.HideSelectionRow.BackColor = color; pView.Appearance.HideSelectionRow.ForeColor = Color.Black; }
/// <summary> /// Atribui as cores a aparencia da grid /// </summary> /// <param name="pView">View da grid</param> /// <param name="pDefaultColor">Color</param> /// <param name="pApplyRow">Aplica a linha</param> public static void SetColors(this DataGridTreeView pView, Color pDefaultColor, bool pApplyRow) { pView.Appearance.FocusedCell.BackColor = pDefaultColor; pView.Appearance.FocusedCell.ForeColor = pDefaultColor; if (pApplyRow) { pView.Appearance.FocusedRow.BackColor = pDefaultColor; pView.Appearance.FocusedRow.ForeColor = pDefaultColor; pView.Appearance.SelectedRow.BackColor = pDefaultColor; pView.Appearance.SelectedRow.ForeColor = pDefaultColor; pView.Appearance.HideSelectionRow.BackColor = pDefaultColor; pView.Appearance.HideSelectionRow.ForeColor = pDefaultColor; } }
/// <summary> /// Adiciona coluna de CheckBox de seleção e define as cores de seleção padrão quando selecionado /// </summary> /// <param name="pView">View da Grid</param> /// <param name="pFieldName">Nome da coluna</param> /// <param name="pCaption">Título da coluna</param> public static void AddSelColumn(this DataGridTreeView pView, string pFieldName, string pCaption) { var col = pView.Columns.Add(); col.FieldName = pFieldName; col.Name = pFieldName; col.Caption = pCaption; col.UnboundType = DevExpress.XtraTreeList.Data.UnboundColumnType.Boolean; col.Visible = true; var style = new StyleFormatCondition( DevExpress.XtraGrid.FormatConditionEnum.Equal, col, true, true, true, true); style.Appearance.BackColor = Color.FromArgb(240, 204, 77); style.Appearance.ForeColor = Color.Black; pView.FormatConditions.Add(style); }
/// <summary> /// Formata as colunas do grid de acordo com a lista de colunas passdas com parametors /// </summary> /// <param name="pGridView">O controle GridView.</param> /// <param name="pTableColumns">Lista de Coluns da Tabela</param> /// <param name="pColumns">Lista de Coluns</param> public static void FormatGrid(this DataGridTreeView pGridView, TableAdapterFieldCollection pTableColumns, params KeyValuePair <string, Dictionary <object, string> >[] pColumns) { TreeGridViewExtention.CreateColumn(pGridView, pTableColumns, pColumns); }