protected internal override DataGridColumn CreateColumn(DataGrid dataGrid, object property) { Binding binding = new Binding(); DataGridDateColumn column = new DataGridDateColumn(); column.Binding = binding; PropertyInfo propertyInfo; PropertyDescriptor propertyDescriptor; if ((propertyDescriptor = property as PropertyDescriptor) != null) { binding.Path = new PropertyPath(propertyDescriptor.Name, null); if (propertyDescriptor.IsReadOnly) { binding.Mode = BindingMode.OneWay; column.IsReadOnly = true; } } else if ((propertyInfo = property as PropertyInfo) != null) { binding.Path = new PropertyPath(propertyInfo.Name, null); if (!propertyInfo.CanWrite) { binding.Mode = BindingMode.OneWay; column.IsReadOnly = true; } } return(column); }
private static DataGridColumn CreateColumn(DataGrid gridView, object columnSource) { DgColumn col = columnSource as DgColumn; if (col.Control == "TextBlock") { DataGridTextColumn column = new DataGridTextColumn(); column.Binding = new Binding(col.DisplayMember); return(column); } else if (col.Control == "PactComboBox") { DataGridPactComboBoxColumn column = new DataGridPactComboBoxColumn(); column.Binding = new Binding(col.DisplayMember); column.FeatureID = Convert.ToInt32(col.Param); column.SelectedValueBinding = new Binding(col.DisplayMember + "_Key"); return(column); } else if (col.Control == "DatePicker") { DataGridDateColumn column = new DataGridDateColumn(); column.Binding = new Binding(col.DisplayMember); // column.SelectedValueBinding = new Binding(col.DisplayMember + "_Key"); return(column); } else//if (col.ColumnType == "TextBox") { DataGridTextColumn column = new DataGridTextColumn(); column.Binding = new Binding(col.DisplayMember); return(column); } //if (col.ColumnType == "MultiCombo") //{ // CustDataGridComboBoxColumn combcolumn = new CustDataGridComboBoxColumn(); // combcolumn.Header = col.HeaderText; // combcolumn.DisplayMemberPath = col.DisplayMember; // combcolumn.SelectedValuePath = col.ValueMember; // combcolumn.SelectedValueBinding = new Binding(col.ValueBinding); // combcolumn.ItemsSource = col.Source; // combcolumn.Width = col.width; // for (int i = 0; i < col.Columns.Count; i++) // { // GridViewColumn e = new GridViewColumn(); // e.Header = col.Columns[i].HeaderText; // e.DisplayMemberBinding = new Binding(col.Columns[i].DisplayMember); // combcolumn.Columns.Add(e); // } // return combcolumn; //} return(null); }
private void ModifyDataColumn(object col) { if (col is DataGridDateColumn) { DataGridDateColumn dataGridDateColumn = (DataGridDateColumn)col; dataGridDateColumn.Format = DateTimePickerFormat.Custom; dataGridDateColumn.FormatString = "{0:dd/MM/yyyy}"; _gridView.Columns[dataGridDateColumn.Name].Width = 130; _gridView.Columns[dataGridDateColumn.Name].AllowResize = false; } }
//private void LoadData(string columnSet) //{ // var dataGrid = TradeLink.DBContext.DBService.Data.DataGridGroups.Expand("DataGridColumns").Where(p => p.Name == columnSet).FirstOrDefault(); // this.CreateColumn(dataGrid); //} //private void CreateColumn(DataGridGroup dataGrid) //{ // var dgcg = new DataGridColumnGen(); // foreach (var column in dataGrid.DataGridColumns) // { // dgcg.Width = column.Width; // dgcg.Type = column.Type; // dgcg.Sequence = column.Sequence; // dgcg.UpdateTriggerId = column.UpdateTriggerId; // dgcg.HasFilter = column.HasFilter; // dgcg.Header = column.Header; // dgcg.Path = column.Path; // dgcg.Format = column.Format; // dgcg.CellTemplate = column.CellTemplate; // dgcg.CellStyle = column.CellStyle; // if (column.Binding_Id.HasValue) // dgcg.Binding_Id = column.Binding_Id.Value; // this.GenerateDataGridColumn(dgcg); // } //} public void GenerateDataGridColumn(DataGridColumnGen column) { System.Windows.Controls.DataGridColumn col = null; switch (column.Type) { case 1: //Text col = new Glass.UX.Windows.Controls.DataGridTextColumn(); break; case 2: //Combo col = new Glass.UX.Windows.Controls.DataGridComboBoxColumn(); break; case 3: //Check col = new Glass.UX.Windows.Controls.DataGridCheckBoxColumn(); break; case 4: //Numeric col = new DataGridNumericColumn(); break; case 5: //Currency col = new DataGridNumericColumn(); break; case 6: //Date col = new DataGridDateColumn(); break; case 7: //Template col = new DataGridTemplateColumn(); ((DataGridTemplateColumn)col).CellTemplate = AssociatedObject.TryFindResource(column.CellTemplate) as DataTemplate; break; case 8: //Details col = new DataGridDetailColumn(); col.Width = column.Width; break; } if (col != null) { Binding binding = null; if (!String.IsNullOrEmpty(column.Path)) { binding = new Binding(column.Path); } if (!String.IsNullOrEmpty(column.Format) && binding != null) { binding.StringFormat = column.Format; } if (!String.IsNullOrEmpty(column.Header)) { col.Header = column.Header; } if (!String.IsNullOrEmpty(column.CellStyle)) { col.CellStyle = AssociatedObject.TryFindResource(column.CellStyle) as Style; } if (column.HasFilter) { col.HeaderStyle = Application.Current.Resources["DataGridColumnFilterHeaderStyle"] as Style; } if (col is DataGridBoundColumn) { ((DataGridBoundColumn)col).Binding = binding; } AssociatedObject.Columns.Add(col); } }