コード例 #1
0
    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);
    }
コード例 #2
0
ファイル: PactGridColumnData.cs プロジェクト: merlin2504/RD12
        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);
        }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
        //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);
            }
        }