示例#1
0
 // *******************************************************************
 // common code for Column Auto-generation
 // i.e. creation of combo columns (we show the same data in all the grids)
 // *******************************************************************
 public static void HandleColumnAutoGeneration(DataGridAutoGeneratingColumnEventArgs e)
 {
     if (new string[] { "Color", "ID", "ProductSubcategoryID", "Description", "GifImage" }.Contains(e.Property.Name))
     {
         e.Cancel = true;
         return;
     }
     if (e.Property.Name == "ProductModelID")
     {
         var comboCol = new DataGridComboBoxColumn(e.Property);
         var models = Data.GetModels().OrderBy(m => m.Name).ToList();
         models.Insert(0, new Model { Name = "Not specified", ProductModelID = 0 });
         comboCol.ItemsSource = models;
         comboCol.DisplayMemberPath = "Name";
         comboCol.SelectedValuePath = "ProductModelID";
         comboCol.Header = "Model";
         e.Column = comboCol;
     }
     if (e.Property.Name == "ImageUrl")
     {
         //CLR40
         string imgPath = "/" + new AssemblyName(Assembly.GetExecutingAssembly().FullName).Name + ";component/Resources/";
         var imageColumn = new DataGridImageColumn(e.Property);
         imageColumn.SortMemberPath = "ImageUrl";
         imageColumn.Binding.Converter = new ImageSourceConverter();
         imageColumn.Binding.ConverterParameter = imgPath;
         imageColumn.Width = new DataGridLength(85);
         imageColumn.GroupContentConverter = new ImageSourceConverter();
         imageColumn.Format = imgPath;
         imageColumn.Header = "Image";
         e.Column = imageColumn;
     }
     if (e.Property.Name == "ExpirationDate")
     {
         //(e.Column as DataGridDateColumn).SelectedDateFormat = C1DatePickerFormat.Custom;
         e.Column.GroupConverter = new OutlookDateGroupConverter();
         e.Column.GroupContentConverter = new OutlookDateGroupNameConverter();
         e.Column.Header = "Expiration Date";
     }
     if (e.Property.Name == "Name")
     {
         IValueConverter converter = new AlphabeticTextGroupConverter();
         e.Column.GroupConverter = converter;
     }
     if (e.Property.Name == "ProductNumber")
     {
         IValueConverter converter = new ProductGroupConverter();
         e.Column.GroupConverter = converter;
         e.Column.GroupContentConverter = converter;
         e.Column.Header = "Product Number";
         (e.Column as DataGridTextColumn).MaxLength = 10;
     }
     if (e.Property.Name == "StandardCost" && e.Column is C1.WPF.DataGrid.DataGridBoundColumn)
     {
         e.Column.GroupConverter = new NumberRangeGroupConverter();
         e.Column.GroupContentConverter = new NumberRangeGroupNameConverter();
         e.Column.Header = "Standard Cost";
         ((C1.WPF.DataGrid.DataGridBoundColumn)e.Column).Format = "C";
     }
 }
 // *******************************************************************
 // common code for Column Auto-generation
 // i.e. creation of combo columns (we show the same data in all the grids)
 // *******************************************************************
 public static void HandleColumnAutoGeneration(DataGridAutoGeneratingColumnEventArgs e)
 {
     if (new string[] { "Color", "ID", "ProductSubcategoryID", "Description", "GifImage" }.Contains(e.Property.Name))
     {
         e.Cancel = true;
         return;
     }
     if (e.Property.Name == "ProductModelID")
     {
         var comboCol = new DataGridComboBoxColumn(e.Property);
         var models   = Data.GetModels().OrderBy(m => m.Name).ToList();
         models.Insert(0, new Model {
             Name = "Not specified", ProductModelID = 0
         });
         comboCol.ItemsSource       = models;
         comboCol.DisplayMemberPath = "Name";
         comboCol.SelectedValuePath = "ProductModelID";
         comboCol.Header            = "Model";
         e.Column = comboCol;
     }
     if (e.Property.Name == "ImageUrl")
     {
         //CLR40
         string imgPath     = "/" + new AssemblyName(Assembly.GetExecutingAssembly().FullName).Name + ";component/Resources/";
         var    imageColumn = new DataGridImageColumn(e.Property);
         imageColumn.SortMemberPath             = "ImageUrl";
         imageColumn.Binding.Converter          = new ImageSourceConverter();
         imageColumn.Binding.ConverterParameter = imgPath;
         imageColumn.Width = new DataGridLength(85);
         imageColumn.GroupContentConverter = new ImageSourceConverter();
         imageColumn.Format = imgPath;
         imageColumn.Header = "Image";
         e.Column           = imageColumn;
     }
     if (e.Property.Name == "ExpirationDate")
     {
         //(e.Column as DataGridDateColumn).SelectedDateFormat = C1DatePickerFormat.Custom;
         e.Column.GroupConverter        = new OutlookDateGroupConverter();
         e.Column.GroupContentConverter = new OutlookDateGroupNameConverter();
         e.Column.Header = "Expiration Date";
     }
     if (e.Property.Name == "Name")
     {
         IValueConverter converter = new AlphabeticTextGroupConverter();
         e.Column.GroupConverter = converter;
     }
     if (e.Property.Name == "ProductNumber")
     {
         IValueConverter converter = new ProductGroupConverter();
         e.Column.GroupConverter        = converter;
         e.Column.GroupContentConverter = converter;
         e.Column.Header = "Product Number";
         (e.Column as DataGridTextColumn).MaxLength = 10;
     }
     if (e.Property.Name == "StandardCost" && e.Column is C1.WPF.DataGrid.DataGridBoundColumn)
     {
         e.Column.GroupConverter        = new NumberRangeGroupConverter();
         e.Column.GroupContentConverter = new NumberRangeGroupNameConverter();
         e.Column.Header = "Standard Cost";
         ((C1.WPF.DataGrid.DataGridBoundColumn)e.Column).Format = "C";
     }
 }